<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Test Report 8222420010020050</title>
    <meta name="generator" content="HTMLTestRunner 0.8.2"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    
<style type="text/css" media="screen">
body        { font-family: verdana, arial, helvetica, sans-serif; font-size: 80%; }
table       { font-size: 100%; }
pre         { }

/* -- heading ---------------------------------------------------------------------- */
h1 {
	font-size: 16pt;
	color: gray;
}
.heading {
    margin-top: 0ex;
    margin-bottom: 1ex;
}

.heading .attribute {
    margin-top: 1ex;
    margin-bottom: 0;
}

.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}

/* -- css div popup ------------------------------------------------------------------------ */
a.popup_link {
}

a.popup_link:hover {
    color: red;
}

.popup_window {
    display: none;
    position: relative;
    left: 0px;
    top: 0px;
    /*border: solid #627173 1px; */
    padding: 10px;
    background-color: #E6E6D6;
    font-family: "Lucida Console", "Courier New", Courier, monospace;
    text-align: left;
    font-size: 8pt;
    width: 500px;
}

}
/* -- report ------------------------------------------------------------------------ */
#show_detail_line {
    margin-top: 3ex;
    margin-bottom: 1ex;
}
#result_table {
    width: 80%;
    border-collapse: collapse;
    border: 1px solid #777;
}
#header_row {
    font-weight: bold;
    color: white;
    background-color: #777;
}
#result_table td {
    border: 1px solid #777;
    padding: 2px;
}
#total_row  { font-weight: bold; }
.passClass  { background-color: #6c6; }
.failClass  { background-color: #c60; }
.errorClass { background-color: #c00; }
.passCase   { color: #6c6; }
.failCase   { color: #c60; font-weight: bold; }
.errorCase  { color: #c00; font-weight: bold; }
.hiddenRow  { display: none; }
.testcase   { margin-left: 2em; }


/* -- ending ---------------------------------------------------------------------- */
#ending {
}

</style>

</head>
<body>
<script language="javascript" type="text/javascript"><!--
output_list = Array();

/* level - 0:Summary; 1:Failed; 2:All */
function showCase(level) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (id.substr(0,2) == 'ft') {
            if (level < 1) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'pt') {
            if (level > 1) {
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
        }
    }
}


function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        tid0 = 't' + cid.substr(1) + '.' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        if (toHide) {
            document.getElementById('div_'+tid).style.display = 'none'
            document.getElementById(tid).className = 'hiddenRow';
        }
        else {
            document.getElementById(tid).className = '';
        }
    }
}


function showTestDetail(div_id){
    var details_div = document.getElementById(div_id)
    var displayState = details_div.style.display
    // alert(displayState)
    if (displayState != 'block' ) {
        displayState = 'block'
        details_div.style.display = 'block'
    }
    else {
        details_div.style.display = 'none'
    }
}


function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}

/* obsoleted by detail in <div>
function showOutput(id, name) {
    var w = window.open("", //url
                    name,
                    "resizable,scrollbars,status,width=800,height=450");
    d = w.document;
    d.write("<pre>");
    d.write(html_escape(output_list[id]));
    d.write("\n");
    d.write("<a href='javascript:window.close()'>close</a>\n");
    d.write("</pre>\n");
    d.close();
}
*/
--></script>

<div class='heading'>
<h1>Test Report 8222420010020050</h1>
<p class='attribute'><strong>Start Time:</strong> 2025-01-06 19:08:29</p>
<p class='attribute'><strong>Duration:</strong> 2:48:16.431480</p>
<p class='attribute'><strong>Status:</strong> Pass 384 Failure 90 Error 28</p>

<p class='description'>Test case details</p>
</div>



<p id='show_detail_line'>Show
<a href='javascript:showCase(0)'>Summary</a>
<a href='javascript:showCase(1)'>Failed</a>
<a href='javascript:showCase(2)'>All</a>
</p>
<table id='result_table'>
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row'>
    <td>Test Group/Test case</td>
    <td>Count</td>
    <td>Pass</td>
    <td>Fail</td>
    <td>Error</td>
    <td>View</td>
</tr>

<tr class='errorClass'>
    <td>test1_gps_package.TestGPS</td>
    <td>47</td>
    <td>42</td>
    <td>1</td>
    <td>4</td>
    <td><a href="javascript:showClassDetail('c1',47)">Detail</a></td>
</tr>

<tr id='pt1.1' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包01_GPS最强5颗卫星编号及强度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.2' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包02_车辆ACC状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包03_STE自采电压</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.4' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包04_GPS速度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.5' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包05_GPS锁定卫星数</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.6' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包06_GSM信号强度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.7' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包07_HDOP水平经度因子</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.8' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包08_PDOP综合位置精度因子</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.9' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包09_PositionMode</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.10' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包10_VDOP垂直精度因子</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.11' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包11_报文码</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.12' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包12_createTime</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.13' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包13_steCreateTime</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.14' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包14_createTime和steCreateTime的时间差</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.15' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包15_数据类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.16' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包16_防盗模式</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.17' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包17_头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.18' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包18_头盔佩戴状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.19' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包19_头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.20' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包20_智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.21' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包21_协议版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.22' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包22_流水号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.23' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包22_海拔高度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.24' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包23_车辆休眠状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.25' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包24_单次里程数</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.26' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包25_基站信息</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.27' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包26_备用电池电量</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.28' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包27_外接电源在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.29' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包28_头盔ID</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.30' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包29_定位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.31' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包30_定位状态类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.32' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包31_定位类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.33' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包32_总里程</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.34' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包33_方位角</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft1.35' class='none'>
    <td class='failCase'><div class='testcase'>test_定位包34_方位角可信度</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.35')" >
        fail</a>

    <div id='div_ft1.35' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.35').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.35: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 160, in test_定位包34_方位角可信度
    self.assertIn(self.gps_data["方位角可信度"], list(range(0, 101)), "定位包中方位角可信度不在0~100之内")
AssertionError: 255 not found in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] : 定位包中方位角可信度不在0~100之内
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 160, in test_定位包34_方位角可信度
    self.assertIn(self.gps_data["方位角可信度"], list(range(0, 101)), "定位包中方位角可信度不在0~100之内")
AssertionError: 255 not found in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] : 定位包中方位角可信度不在0~100之内


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt1.36' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包35_车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft1.37' class='none'>
    <td class='errorCase'><div class='testcase'>test_定位包36_可用剩余电量</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.37')" >
        error</a>

    <div id='div_ft1.37' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.37').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.37: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 166, in test_定位包36_可用剩余电量
    self.assertGreater(self.gps_data["备用剩余电量"], 0, "定位包中可用剩余电量小于等于0")
                       ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '备用剩余电量'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 166, in test_定位包36_可用剩余电量
    self.assertGreater(self.gps_data["备用剩余电量"], 0, "定位包中可用剩余电量小于等于0")
                       ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '备用剩余电量'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft1.38' class='none'>
    <td class='errorCase'><div class='testcase'>test_定位包37_相对SOC</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.38')" >
        error</a>

    <div id='div_ft1.38' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.38').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.38: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 169, in test_定位包37_相对SOC
    self.assertIn(self.gps_data["相对SOC"], list(range(0, 101)), "定位包中电池剩余电量百分比不是1~100")
                  ~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '相对SOC'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 169, in test_定位包37_相对SOC
    self.assertIn(self.gps_data["相对SOC"], list(range(0, 101)), "定位包中电池剩余电量百分比不是1~100")
                  ~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '相对SOC'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt1.39' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包38_锂电池组总电压</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.40' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包39_移动网络类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.41' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包40_经纬度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.42' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包41_车辆蓝牙连接状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.43' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包42_运动状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.44' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包43_霍尔速度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt1.45' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_定位包44_车辆骑行状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft1.46' class='none'>
    <td class='errorCase'><div class='testcase'>test_定位包45_各转把电压值</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.46')" >
        error</a>

    <div id='div_ft1.46' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.46').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.46: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 202, in test_定位包45_各转把电压值
    TestData().request_and_assert_params("NET", "OPEN")
    ^^^^^^^^
NameError: name 'TestData' is not defined. Did you mean: 'test_data'?
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 202, in test_定位包45_各转把电压值
    TestData().request_and_assert_params("NET", "OPEN")
    ^^^^^^^^
NameError: name 'TestData' is not defined. Did you mean: 'test_data'?


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft1.47' class='none'>
    <td class='errorCase'><div class='testcase'>test_定位包_SOH</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.47')" >
        error</a>

    <div id='div_ft1.47' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.47').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.47: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 69, in test_定位包_SOH
    self.assertIn(self.gps_data["SOH"], list(range(0, 101)), "定位包中SOH不在0~100")
                  ~~~~~~~~~~~~~^^^^^^^
KeyError: 'SOH'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_gps_package.py", line 69, in test_定位包_SOH
    self.assertIn(self.gps_data["SOH"], list(range(0, 101)), "定位包中SOH不在0~100")
                  ~~~~~~~~~~~~~^^^^^^^
KeyError: 'SOH'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr class='errorClass'>
    <td>test1_heart_package.TestHeart</td>
    <td>26</td>
    <td>24</td>
    <td>0</td>
    <td>2</td>
    <td><a href="javascript:showClassDetail('c2',26)">Detail</a></td>
</tr>

<tr id='pt2.1' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_GPS锁定卫星数</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.2' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_GSM信号强度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_createTime</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.4' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_createTime和steCreateTime的时间差</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.5' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_steCreateTime</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.6' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_协议版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft2.7' class='none'>
    <td class='errorCase'><div class='testcase'>test_心跳包_可用剩余电量</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft2.7')" >
        error</a>

    <div id='div_ft2.7' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft2.7').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft2.7: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_heart_package.py", line 77, in test_心跳包_可用剩余电量
    self.assertGreater(self.heart_data["可用剩余电量"], 0, "心跳包中可用剩余电量小于等于0")
                       ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '可用剩余电量'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_heart_package.py", line 77, in test_心跳包_可用剩余电量
    self.assertGreater(self.heart_data["可用剩余电量"], 0, "心跳包中可用剩余电量小于等于0")
                       ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '可用剩余电量'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt2.8' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_备用电池电量</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.9' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_外接电源在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.10' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.11' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_定位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.12' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_报文码</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.13' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_数据类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.14' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_流水号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.15' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft2.16' class='none'>
    <td class='errorCase'><div class='testcase'>test_心跳包_相对SOC</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft2.16')" >
        error</a>

    <div id='div_ft2.16' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft2.16').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft2.16: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_heart_package.py", line 80, in test_心跳包_相对SOC
    self.assertIn(self.heart_data["相对SOC"], list(range(1, 101)), "心跳包中电池相对SOC不是1~100")
                  ~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '相对SOC'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_heart_package.py", line 80, in test_心跳包_相对SOC
    self.assertIn(self.heart_data["相对SOC"], list(range(1, 101)), "心跳包中电池相对SOC不是1~100")
                  ~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '相对SOC'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt2.17' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_移动网络类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.18' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_车辆ACC状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.19' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_车辆休眠状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.20' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.21' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_车辆蓝牙连接状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.22' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_车辆骑行状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.23' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.24' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_运动状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.25' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_锂电池组总电压</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt2.26' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_心跳包_防盗模式</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr class='errorClass'>
    <td>test1_login_package.TestLogin</td>
    <td>23</td>
    <td>19</td>
    <td>3</td>
    <td>1</td>
    <td><a href="javascript:showClassDetail('c3',23)">Detail</a></td>
</tr>

<tr id='pt3.1' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_ECU厂商</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.2' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_MCU版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_STE固件版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.4' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_bleMac</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.5' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_createTime和steCreateTime的时间差</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.6' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_imei</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft3.7' class='none'>
    <td class='failCase'><div class='testcase'>test_登录包_imsi</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft3.7')" >
        fail</a>

    <div id='div_ft3.7' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft3.7').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft3.7: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 51, in test_登录包_imsi
    self.assertEqual("4600", imsi[:4], "登录包中imsi开头不是4600")
AssertionError: '4600' != '4602'
- 4600
?    ^
+ 4602
?    ^
 : 登录包中imsi开头不是4600
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 51, in test_登录包_imsi
    self.assertEqual("4600", imsi[:4], "登录包中imsi开头不是4600")
AssertionError: '4600' != '4602'
- 4600
?    ^
+ 4602
?    ^
 : 登录包中imsi开头不是4600


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt3.8' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_产品名称</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.9' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_协议版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.10' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_厂商ID</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.11' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_头盔锁固件版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.12' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_当前语音的最大编号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.13' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_报文码</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft3.14' class='none'>
    <td class='failCase'><div class='testcase'>test_登录包_控制器固件版本号</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft3.14')" >
        fail</a>

    <div id='div_ft3.14' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft3.14').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft3.14: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 115, in test_登录包_控制器固件版本号
    self.assertEqual(self.agreement_dict["controller_version"], self.login_data["控制器固件版本号"],
AssertionError: '4.0.36' != '4.0.71'
- 4.0.36
+ 4.0.71
 : 登录包中控制器固件版本号不是4.0.36
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 115, in test_登录包_控制器固件版本号
    self.assertEqual(self.agreement_dict["controller_version"], self.login_data["控制器固件版本号"],
AssertionError: '4.0.36' != '4.0.71'
- 4.0.36
+ 4.0.71
 : 登录包中控制器固件版本号不是4.0.36


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt3.15' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_数据类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft3.16' class='none'>
    <td class='failCase'><div class='testcase'>test_登录包_显示屏固件版本号</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft3.16')" >
        fail</a>

    <div id='div_ft3.16' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft3.16').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft3.16: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 110, in test_登录包_显示屏固件版本号
    self.assertEqual(self.agreement_dict["electronic_screen_version"], self.login_data["显示屏固件版本号"],
AssertionError: '1.0.14' != '1.0.18'
- 1.0.14
?      ^
+ 1.0.18
?      ^
 : 登录包中显示屏固件版本号不是1.0.14
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 110, in test_登录包_显示屏固件版本号
    self.assertEqual(self.agreement_dict["electronic_screen_version"], self.login_data["显示屏固件版本号"],
AssertionError: '1.0.14' != '1.0.18'
- 1.0.14
?      ^
+ 1.0.18
?      ^
 : 登录包中显示屏固件版本号不是1.0.14


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt3.17' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_流水号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.18' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_登录原因</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.19' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_短信协议版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.20' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_硬件版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt3.21' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_蓝牙协议版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft3.22' class='none'>
    <td class='errorCase'><div class='testcase'>test_登录包_通信扩展单元固件版本号</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft3.22')" >
        error</a>

    <div id='div_ft3.22' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft3.22').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft3.22: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 87, in test_登录包_通信扩展单元固件版本号
    self.assertEqual(self.agreement_dict["bottom_extension"], self.login_data["通信扩展单元固件版本号"],
                                                              ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: '通信扩展单元固件版本号'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test1_login_package.py", line 87, in test_登录包_通信扩展单元固件版本号
    self.assertEqual(self.agreement_dict["bottom_extension"], self.login_data["通信扩展单元固件版本号"],
                                                              ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: '通信扩展单元固件版本号'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt3.23' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_登录包_通信模块底层固件版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr class='errorClass'>
    <td>test2_battery_package.TestBattery</td>
    <td>21</td>
    <td>12</td>
    <td>2</td>
    <td>7</td>
    <td><a href="javascript:showClassDetail('c4',21)">Detail</a></td>
</tr>

<tr id='pt4.1' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包01_1至14节电池分组电压</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.2' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包02_STE自采电压</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包03_报文码</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.4' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包04_createTime</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.5' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包05_steCreateTime</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.6' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包06_createTime和steCreateTime的时间差</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.7' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包07_数据类型</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.8' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包08_协议版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt4.9' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包09_流水号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft4.10' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包10_可用剩余电量</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.10')" >
        error</a>

    <div id='div_ft4.10' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.10').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.10: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 61, in test_电池包10_可用剩余电量
    self.assertGreaterEqual(self.battery_data["可用剩余电量"], 0, "电池包中可用剩余电量小于0")
                            ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '可用剩余电量'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 61, in test_电池包10_可用剩余电量
    self.assertGreaterEqual(self.battery_data["可用剩余电量"], 0, "电池包中可用剩余电量小于0")
                            ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '可用剩余电量'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft4.11' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包11_当前充电间隔</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.11')" >
        error</a>

    <div id='div_ft4.11' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.11').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.11: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 64, in test_电池包11_当前充电间隔
    self.assertGreaterEqual(self.battery_data["当前充电间隔(小时)"], 0, "电池包中当前充电间隔(小时)小于0")
                            ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: '当前充电间隔(小时)'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 64, in test_电池包11_当前充电间隔
    self.assertGreaterEqual(self.battery_data["当前充电间隔(小时)"], 0, "电池包中当前充电间隔(小时)小于0")
                            ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: '当前充电间隔(小时)'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft4.12' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包12_循环次数</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.12')" >
        error</a>

    <div id='div_ft4.12' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.12').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.12: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 67, in test_电池包12_循环次数
    self.assertGreaterEqual(self.battery_data["循环次数"], 0, "电池包中循环次数小于0")
                            ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: '循环次数'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 67, in test_电池包12_循环次数
    self.assertGreaterEqual(self.battery_data["循环次数"], 0, "电池包中循环次数小于0")
                            ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: '循环次数'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft4.13' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包13_相对SOC</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.13')" >
        error</a>

    <div id='div_ft4.13' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.13').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.13: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 70, in test_电池包13_相对SOC
    self.assertIn(self.battery_data["相对SOC"], list(range(0, 101)), "电池包中相对SOC不是0~100")
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '相对SOC'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 70, in test_电池包13_相对SOC
    self.assertIn(self.battery_data["相对SOC"], list(range(0, 101)), "电池包中相对SOC不是0~100")
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '相对SOC'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft4.14' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包14_绝对SOC</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.14')" >
        error</a>

    <div id='div_ft4.14' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.14').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.14: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 73, in test_电池包14_绝对SOC
    self.assertIn(self.battery_data["绝对SOC"], list(range(0, 101)), "电池包中绝对SOC不在0~100")
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '绝对SOC'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 73, in test_电池包14_绝对SOC
    self.assertIn(self.battery_data["绝对SOC"], list(range(0, 101)), "电池包中绝对SOC不在0~100")
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: '绝对SOC'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt4.15' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包15_电池电流</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft4.16' class='none'>
    <td class='failCase'><div class='testcase'>test_电池包16_锂电池成品条形码</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.16')" >
        fail</a>

    <div id='div_ft4.16' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.16').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.16: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 79, in test_电池包16_锂电池成品条形码
    self.assertEqual(20, len(self.battery_data["锂电池成品条形码"]), "电池包中电池编号长度不准确")
AssertionError: 20 != 0 : 电池包中电池编号长度不准确
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 79, in test_电池包16_锂电池成品条形码
    self.assertEqual(20, len(self.battery_data["锂电池成品条形码"]), "电池包中电池编号长度不准确")
AssertionError: 20 != 0 : 电池包中电池编号长度不准确


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt4.17' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包17_电池内部温度</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft4.18' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包18_锂电池组总电压</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.18')" >
        error</a>

    <div id='div_ft4.18' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.18').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.18: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 85, in test_电池包18_锂电池组总电压
    self.assertIn(self.battery_data["锂电池组总电压(mV)"], list(range(1, 60001)), "电池包中锂电池组总电压不是1x~60000")
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: '锂电池组总电压(mV)'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 85, in test_电池包18_锂电池组总电压
    self.assertIn(self.battery_data["锂电池组总电压(mV)"], list(range(1, 60001)), "电池包中锂电池组总电压不是1x~60000")
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: '锂电池组总电压(mV)'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft4.19' class='none'>
    <td class='errorCase'><div class='testcase'>test_电池包19_绝对满电容量</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.19')" >
        error</a>

    <div id='div_ft4.19' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.19').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.19: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 88, in test_电池包19_绝对满电容量
    self.assertGreater(self.battery_data["绝对满电容量(mAh)"], 5000, "电池包中绝对满电容量小于等于5000")
                       ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
KeyError: '绝对满电容量(mAh)'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 88, in test_电池包19_绝对满电容量
    self.assertGreater(self.battery_data["绝对满电容量(mAh)"], 5000, "电池包中绝对满电容量小于等于5000")
                       ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
KeyError: '绝对满电容量(mAh)'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt4.20' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_电池包20_锂电池BMS版本号</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft4.21' class='none'>
    <td class='failCase'><div class='testcase'>test_电池包21_锂电池组制造厂商名称</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft4.21')" >
        fail</a>

    <div id='div_ft4.21' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft4.21').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft4.21: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 94, in test_电池包21_锂电池组制造厂商名称
    self.assertIn(self.battery_data["锂电池组制造厂商名称"], ["PHYLION GX", "PHYLION BFIBAT", "XINGHENG", "PHYLION"], "电池包中锂电池组制造厂商名称为空")
AssertionError: '' not found in ['PHYLION GX', 'PHYLION BFIBAT', 'XINGHENG', 'PHYLION'] : 电池包中锂电池组制造厂商名称为空
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_battery_package.py", line 94, in test_电池包21_锂电池组制造厂商名称
    self.assertIn(self.battery_data["锂电池组制造厂商名称"], ["PHYLION GX", "PHYLION BFIBAT", "XINGHENG", "PHYLION"], "电池包中锂电池组制造厂商名称为空")
AssertionError: '' not found in ['PHYLION GX', 'PHYLION BFIBAT', 'XINGHENG', 'PHYLION'] : 电池包中锂电池组制造厂商名称为空


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr class='failClass'>
    <td>test2_count_package_number.TestPackageNumber</td>
    <td>3</td>
    <td>1</td>
    <td>2</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c5',3)">Detail</a></td>
</tr>

<tr id='ft5.1' class='none'>
    <td class='failCase'><div class='testcase'>test_定位包数量: 判断2个小时内定位包的上报次数</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft5.1')" >
        fail</a>

    <div id='div_ft5.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft5.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft5.1: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_count_package_number.py", line 26, in test_定位包数量
    self.assertGreaterEqual(self.gps_data_number, 8, "2h内定位包个数少于8个")
AssertionError: 0 not greater than or equal to 8 : 2h内定位包个数少于8个
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_count_package_number.py", line 26, in test_定位包数量
    self.assertGreaterEqual(self.gps_data_number, 8, "2h内定位包个数少于8个")
AssertionError: 0 not greater than or equal to 8 : 2h内定位包个数少于8个


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft5.2' class='none'>
    <td class='failCase'><div class='testcase'>test_心跳包数量</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft5.2')" >
        fail</a>

    <div id='div_ft5.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft5.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft5.2: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_count_package_number.py", line 36, in test_心跳包数量
    self.assertGreaterEqual(self.heart_data_number, 58, "2h内心跳包个数少于58个")
AssertionError: 0 not greater than or equal to 58 : 2h内心跳包个数少于58个
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_count_package_number.py", line 36, in test_心跳包数量
    self.assertGreaterEqual(self.heart_data_number, 58, "2h内心跳包个数少于58个")
AssertionError: 0 not greater than or equal to 58 : 2h内心跳包个数少于58个


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt5.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_报警包数量</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt5.3')" >
        pass</a>

    <div id='div_pt5.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt5.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt5.3: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr class='errorClass'>
    <td>test2_scene.TestOther</td>
    <td>190</td>
    <td>176</td>
    <td>11</td>
    <td>3</td>
    <td><a href="javascript:showClassDetail('c6',190)">Detail</a></td>
</tr>

<tr id='ft6.1' class='none'>
    <td class='failCase'><div class='testcase'>test_001_借车状态下_重启前后ECU状态不变_开锁指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.1')" >
        fail</a>

    <div id='div_ft6.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.1: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 18, in test_001_借车状态下_重启前后ECU状态不变_开锁指令
    TestData().request_and_assert_params("NET", "OPEN")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '0e796018051d41d39cc3d3427b39395c' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "ed11b598e8744a93ad409f5dfa851486", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 302, "time": "2025-01-06 19:08:39.422", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"302\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:1\\",\\"msg_id\\":\\"ed11b598e8744a93ad409f5dfa851486\\",\\"type\\":1,\\"ts\\":1736161719422}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 18, in test_001_借车状态下_重启前后ECU状态不变_开锁指令
    TestData().request_and_assert_params("NET", "OPEN")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '0e796018051d41d39cc3d3427b39395c' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "ed11b598e8744a93ad409f5dfa851486", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 302, "time": "2025-01-06 19:08:39.422", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"302\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:1\\",\\"msg_id\\":\\"ed11b598e8744a93ad409f5dfa851486\\",\\"type\\":1,\\"ts\\":1736161719422}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.2' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_002_借车状态下_重启前后ECU状态不变_重启前_定位包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.2')" >
        pass</a>

    <div id='div_pt6.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.2: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_003_借车状态下_重启前后ECU状态不变_重启前_定位包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.4' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_004_借车状态下_重启前后ECU状态不变_重启前_定位包车辆电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.5' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_005_借车状态下_重启前后ECU状态不变_重启前_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.6' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_006_借车状态下_重启前后ECU状态不变_重启前_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.7' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_007_借车状态下_重启前后ECU状态不变_重启前_定位包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.8' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_008_借车状态下_重启前后ECU状态不变_重启前_定位包头盔仓闭合状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.9' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_009_借车状态下_重启前后ECU状态不变_重启前_定位包头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.10' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_010_借车状态下_重启前后ECU状态不变_重启前_定位包头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.11' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_011_借车状态下_重启前后ECU状态不变_重启前_定位包头盔锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.12' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_012_借车状态下_重启前后ECU状态不变_重启前_定位包智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.13' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_013_借车状态下_重启前后ECU状态不变_重启前_心跳包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.13')" >
        pass</a>

    <div id='div_pt6.13' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.13').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.13: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.14' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_014_借车状态下_重启前后ECU状态不变_重启前_心跳包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.15' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_015_借车状态下_重启前后ECU状态不变_重启前_心跳包电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.16' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_016_借车状态下_重启前后ECU状态不变_重启前_心跳包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.17' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_017_借车状态下_重启前后ECU状态不变_重启前_心跳包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.18' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_018_借车状态下_重启前后ECU状态不变_重启前_心跳包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.19' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_019_借车状态下_重启前后ECU状态不变_重启指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.19')" >
        pass</a>

    <div id='div_pt6.19' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.19').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.19: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.20' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_020_借车状态下_重启前后ECU状态不变_重启后_定位包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.20')" >
        pass</a>

    <div id='div_pt6.20' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.20').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.20: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.21' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_021_借车状态下_重启前后ECU状态不变_重启后_定位包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.22' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_022_借车状态下_重启前后ECU状态不变_重启后_定位包车辆电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.23' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_023_借车状态下_重启前后ECU状态不变_重启后_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.24' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_024_借车状态下_重启前后ECU状态不变_重启后_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.25' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_025_借车状态下_重启前后ECU状态不变_重启后_定位包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.26' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_026_借车状态下_重启前后ECU状态不变_重启后_定位包头盔仓闭合状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.27' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_027_借车状态下_重启前后ECU状态不变_重启后_定位包头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.28' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_028_借车状态下_重启前后ECU状态不变_重启后_定位包头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.29' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_029_借车状态下_重启前后ECU状态不变_重启后_定位包头盔锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.30' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_030_借车状态下_重启前后ECU状态不变_重启后_定位智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.31' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_031_借车状态下_重启前后ECU状态不变_重启后_心跳车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.31')" >
        pass</a>

    <div id='div_pt6.31' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.31').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.31: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.32' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_032_借车状态下_重启前后ECU状态不变_重启后_心跳车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.33' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_033_借车状态下_重启前后ECU状态不变_重启后_心跳车电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.34' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_034_借车状态下_重启前后ECU状态不变_重启后_心跳转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.35' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_035_借车状态下_重启前后ECU状态不变_重启后_心跳车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.36' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_036_借车状态下_重启前后ECU状态不变_重启后_心跳车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.37' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_037_借车状态下_重启前后ECU状态不变_重启前后_定位包中车辆ACC状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.38' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_038_借车状态下_重启前后ECU状态不变_重启前后_定位包中车辆后轮锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.39' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_039_借车状态下_重启前后ECU状态不变_重启前后_定位包中电池锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.40' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_040_借车状态下_重启前后ECU状态不变_重启前后_定位包中转把可使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.41' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_041_借车状态下_重启前后ECU状态不变_重启前后_定位包中车辆使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.42' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_042_借车状态下_重启前后ECU状态不变_重启前后_定位包中车辆电机加锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.43' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_043_借车状态下_重启前后ECU状态不变_重启前后_定位包中头盔仓闭合状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.44' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_044_借车状态下_重启前后ECU状态不变_重启前后_定位包中头盔在位状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.45' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_045_借车状态下_重启前后ECU状态不变_重启前后_定位包中头盔状态有效位对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.46' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_046_借车状态下_重启前后ECU状态不变_重启前后_定位包中头盔锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.47' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_047_借车状态下_重启前后ECU状态不变_重启前后_定位包中智能头盔流程状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.48' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_048_借车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆ACC状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.49' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_049_借车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆后轮锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.50' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_050_借车状态下_重启前后ECU状态不变_重启前后_心跳包中电池锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.51' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_051_借车状态下_重启前后ECU状态不变_重启前后_心跳包中转把可使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.52' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_052_借车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.53' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_053_借车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆电机加锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.54' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_054_还车状态下_重启前后ECU状态不变_关锁指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.54')" >
        pass</a>

    <div id='div_pt6.54' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.54').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.54: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.55' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_055_还车状态下_重启前后ECU状态不变_重启前_定位包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.55')" >
        pass</a>

    <div id='div_pt6.55' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.55').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.55: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.56' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_056_还车状态下_重启前后ECU状态不变_重启前_定位包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.57' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_057_还车状态下_重启前后ECU状态不变_重启前_定位包车辆电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.58' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_058_还车状态下_重启前后ECU状态不变_重启前_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.59' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_059_还车状态下_重启前后ECU状态不变_重启前_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.60' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_060_还车状态下_重启前后ECU状态不变_重启前_定位包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.61' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_061_还车状态下_重启前后ECU状态不变_重启前_定位包头盔仓闭合状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.62' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_062_还车状态下_重启前后ECU状态不变_重启前_定位包头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.63' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_063_还车状态下_重启前后ECU状态不变_重启前_定位包头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.64' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_064_还车状态下_重启前后ECU状态不变_重启前_定位包头盔锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.65' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_065_还车状态下_重启前后ECU状态不变_重启前_定位包智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.66' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_066_还车状态下_重启前后ECU状态不变_重启前_心跳包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.66')" >
        pass</a>

    <div id='div_pt6.66' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.66').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.66: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.67' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_067_还车状态下_重启前后ECU状态不变_重启前_心跳包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.68' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_068_还车状态下_重启前后ECU状态不变_重启前_心跳包电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.69' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_069_还车状态下_重启前后ECU状态不变_重启前_心跳包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.70' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_070_还车状态下_重启前后ECU状态不变_重启前_心跳包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.71' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_071_还车状态下_重启前后ECU状态不变_重启前_心跳包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.72' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_072_还车状态下_重启前后ECU状态不变_重启指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.72')" >
        pass</a>

    <div id='div_pt6.72' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.72').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.72: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.73' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_073_还车状态下_重启前后ECU状态不变_重启后_定位包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.73')" >
        pass</a>

    <div id='div_pt6.73' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.73').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.73: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.74' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_074_还车状态下_重启前后ECU状态不变_重启后_定位包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.75' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_075_还车状态下_重启前后ECU状态不变_重启后_定位包车辆电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.76' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_076_还车状态下_重启前后ECU状态不变_重启后_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.77' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_077_还车状态下_重启前后ECU状态不变_重启后_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.78' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_078_还车状态下_重启前后ECU状态不变_重启后_定位包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.79' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_079_还车状态下_重启前后ECU状态不变_重启后_定位包头盔仓闭合状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.80' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_080_还车状态下_重启前后ECU状态不变_重启后_定位包头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.81' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_081_还车状态下_重启前后ECU状态不变_重启后_定位包头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.82' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_082_还车状态下_重启前后ECU状态不变_重启后_定位包头盔锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.83' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_083_还车状态下_重启前后ECU状态不变_重启后_定位智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.84' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_084_还车状态下_重启前后ECU状态不变_重启后_心跳车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.84')" >
        pass</a>

    <div id='div_pt6.84' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.84').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.84: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.85' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_085_还车状态下_重启前后ECU状态不变_重启后_心跳车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.86' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_086_还车状态下_重启前后ECU状态不变_重启后_心跳车电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.87' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_087_还车状态下_重启前后ECU状态不变_重启后_心跳转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.88' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_088_还车状态下_重启前后ECU状态不变_重启后_心跳车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.89' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_089_还车状态下_重启前后ECU状态不变_重启后_心跳车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.90' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_090_还车状态下_重启前后ECU状态不变_重启前后_定位包中车辆ACC状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.91' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_091_还车状态下_重启前后ECU状态不变_重启前后_定位包中车辆后轮锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.92' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_092_还车状态下_重启前后ECU状态不变_重启前后_定位包中电池锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.93' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_093_还车状态下_重启前后ECU状态不变_重启前后_定位包中转把可使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.94' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_094_还车状态下_重启前后ECU状态不变_重启前后_定位包中车辆使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.95' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_095_还车状态下_重启前后ECU状态不变_重启前后_定位包中车辆电机加锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.96' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_096_还车状态下_重启前后ECU状态不变_重启前后_定位包中头盔仓闭合状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.97' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_097_还车状态下_重启前后ECU状态不变_重启前后_定位包中头盔在位状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.98' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_098_还车状态下_重启前后ECU状态不变_重启前后_定位包中头盔状态有效位对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.99' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_099_还车状态下_重启前后ECU状态不变_重启前后_定位包中头盔锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.100' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_100_还车状态下_重启前后ECU状态不变_重启前后_定位包中智能头盔流程状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.101' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_101_还车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆ACC状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.102' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_102_还车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆后轮锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.103' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_103_还车状态下_重启前后ECU状态不变_重启前后_心跳包中电池锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.104' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_104_还车状态下_重启前后ECU状态不变_重启前后_心跳包中转把可使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.105' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_105_还车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.106' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_106_还车状态下_重启前后ECU状态不变_重启前后_心跳包中车辆电机加锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft6.107' class='none'>
    <td class='failCase'><div class='testcase'>test_107_撤防状态下_重启前后ECU状态不变_撤防指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.107')" >
        fail</a>

    <div id='div_ft6.107' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.107').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.107: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 530, in test_107_撤防状态下_重启前后ECU状态不变_撤防指令
    TestData().request_and_assert_params("NET","CANCEL_DEFENCE")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '0f2fa8b6bfb946f98c43cfcc868722b0' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "28cf26f575f040799db97d1b5f03daa5", "msg_type": null, "rtk_type": null, "params": "1774", "sim": null, "cmd_code": 304, "time": "2025-01-06 19:16:42.297", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"304\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:101\\",\\"msg_id\\":\\"28cf26f575f040799db97d1b5f03daa5\\",\\"params\\":\\"1774\\",\\"type\\":1,\\"ts\\":1736162202297}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 530, in test_107_撤防状态下_重启前后ECU状态不变_撤防指令
    TestData().request_and_assert_params("NET","CANCEL_DEFENCE")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '0f2fa8b6bfb946f98c43cfcc868722b0' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "28cf26f575f040799db97d1b5f03daa5", "msg_type": null, "rtk_type": null, "params": "1774", "sim": null, "cmd_code": 304, "time": "2025-01-06 19:16:42.297", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"304\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:101\\",\\"msg_id\\":\\"28cf26f575f040799db97d1b5f03daa5\\",\\"params\\":\\"1774\\",\\"type\\":1,\\"ts\\":1736162202297}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.108' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_108_撤防状态下_重启前后ECU状态不变_重启前_定位包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.108')" >
        pass</a>

    <div id='div_pt6.108' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.108').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.108: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.109' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_109_撤防状态下_重启前后ECU状态不变_重启前_定位包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.110' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_110_撤防状态下_重启前后ECU状态不变_重启前_定位包车辆电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.111' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_111_撤防状态下_重启前后ECU状态不变_重启前_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.112' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_112_撤防状态下_重启前后ECU状态不变_重启前_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.113' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_113_撤防状态下_重启前后ECU状态不变_重启前_定位包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.114' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_114_撤防状态下_重启前后ECU状态不变_重启前_定位包头盔仓闭合状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.115' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_115_撤防状态下_重启前后ECU状态不变_重启前_定位包头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.116' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_116_撤防状态下_重启前后ECU状态不变_重启前_定位包头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.117' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_117_撤防状态下_重启前后ECU状态不变_重启前_定位包头盔锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.118' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_118_撤防状态下_重启前后ECU状态不变_重启前_定位包智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.119' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_119_撤防状态下_重启前后ECU状态不变_重启前_心跳包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.119')" >
        pass</a>

    <div id='div_pt6.119' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.119').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.119: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.120' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_120_撤防状态下_重启前后ECU状态不变_重启前_心跳包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.121' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_121_撤防状态下_重启前后ECU状态不变_重启前_心跳包电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.122' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_122_撤防状态下_重启前后ECU状态不变_重启前_心跳包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.123' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_123_撤防状态下_重启前后ECU状态不变_重启前_心跳包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.124' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_124_撤防状态下_重启前后ECU状态不变_重启前_心跳包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.125' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_125_撤防状态下_重启前后ECU状态不变_重启指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.125')" >
        pass</a>

    <div id='div_pt6.125' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.125').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.125: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.126' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_126_撤防状态下_重启前后ECU状态不变_重启后_定位包车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.126')" >
        pass</a>

    <div id='div_pt6.126' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.126').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.126: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.127' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_127_撤防状态下_重启前后ECU状态不变_重启后_定位包车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.128' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_128_撤防状态下_重启前后ECU状态不变_重启后_定位包车辆电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.129' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_129_撤防状态下_重启前后ECU状态不变_重启后_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.130' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_130_撤防状态下_重启前后ECU状态不变_重启后_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.131' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_131_撤防状态下_重启前后ECU状态不变_重启后_定位包车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.132' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_132_撤防状态下_重启前后ECU状态不变_重启后_定位包头盔仓闭合状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.133' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_133_撤防状态下_重启前后ECU状态不变_重启后_定位包头盔在位状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.134' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_134_撤防状态下_重启前后ECU状态不变_重启后_定位包头盔状态有效位</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.135' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_135_撤防状态下_重启前后ECU状态不变_重启后_定位包头盔锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.136' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_136_撤防状态下_重启前后ECU状态不变_重启后_定位智能头盔流程状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.137' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_137_撤防状态下_重启前后ECU状态不变_重启后_心跳车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.137')" >
        pass</a>

    <div id='div_pt6.137' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.137').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.137: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.138' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_138_撤防状态下_重启前后ECU状态不变_重启后_心跳车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.139' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_139_撤防状态下_重启前后ECU状态不变_重启后_心跳车电池锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.140' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_140_撤防状态下_重启前后ECU状态不变_重启后_心跳转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.141' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_141_撤防状态下_重启前后ECU状态不变_重启后_心跳车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.142' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_142_撤防状态下_重启前后ECU状态不变_重启后_心跳车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.143' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_143_撤防状态下_重启前后ECU状态不变_重启前后_定位包中车辆ACC状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.144' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_144_撤防状态下_重启前后ECU状态不变_重启前后_定位包中车辆后轮锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.145' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_145_撤防状态下_重启前后ECU状态不变_重启前后_定位包中电池锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.146' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_146_撤防状态下_重启前后ECU状态不变_重启前后_定位包中转把可使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.147' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_147_撤防状态下_重启前后ECU状态不变_重启前后_定位包中车辆使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.148' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_148_撤防状态下_重启前后ECU状态不变_重启前后_定位包中车辆电机加锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.149' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_149_撤防状态下_重启前后ECU状态不变_重启前后_定位包中头盔仓闭合状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.150' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_150_撤防状态下_重启前后ECU状态不变_重启前后_定位包中头盔在位状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.151' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_151_撤防状态下_重启前后ECU状态不变_重启前后_定位包中头盔状态有效位对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.152' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_152_撤防状态下_重启前后ECU状态不变_重启前后_定位包中头盔锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.153' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_153_撤防状态下_重启前后ECU状态不变_重启前后_定位包中智能头盔流程状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.154' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_154_撤防状态下_重启前后ECU状态不变_重启前后_心跳包中车辆ACC状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.155' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_155_撤防状态下_重启前后ECU状态不变_重启前后_心跳包中车辆后轮锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.156' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_156_撤防状态下_重启前后ECU状态不变_重启前后_心跳包中电池锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.157' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_157_撤防状态下_重启前后ECU状态不变_重启前后_心跳包中转把可使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.158' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_158_撤防状态下_重启前后ECU状态不变_重启前后_心跳包中车辆使用状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.159' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_159_撤防状态下_重启前后ECU状态不变_重启前后_心跳包中车辆电机加锁状态对比</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft6.160' class='none'>
    <td class='failCase'><div class='testcase'>test_160_中文语音测试_增加第一条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.160')" >
        fail</a>

    <div id='div_ft6.160' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.160').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.160: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 799, in test_160_中文语音测试_增加第一条语音数据
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1434,
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 799, in test_160_中文语音测试_增加第一条语音数据
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1434,
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.161' class='none'>
    <td class='failCase'><div class='testcase'>test_161_中文语音测试_查询第一条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.161')" >
        fail</a>

    <div id='div_ft6.161' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.161').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.161: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 803, in test_161_中文语音测试_查询第一条语音数据
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1434]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 803, in test_161_中文语音测试_查询第一条语音数据
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1434]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.162' class='none'>
    <td class='errorCase'><div class='testcase'>test_162_中文语音测试_播放第一条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.162')" >
        error</a>

    <div id='div_ft6.162' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.162').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.162: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 806, in test_162_中文语音测试_播放第一条语音数据
    TestData().request_and_assert_params("NET", "PLAY_VOICE", {"voice_id": "1434"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 229, in request_and_assert_params
    print(res_json["data"]["send_success_commands"])
          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 806, in test_162_中文语音测试_播放第一条语音数据
    TestData().request_and_assert_params("NET", "PLAY_VOICE", {"voice_id": "1434"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 229, in request_and_assert_params
    print(res_json["data"]["send_success_commands"])
          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.163' class='none'>
    <td class='failCase'><div class='testcase'>test_163_中文语音测试_增加第二条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.163')" >
        fail</a>

    <div id='div_ft6.163' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.163').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.163: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 809, in test_163_中文语音测试_增加第二条语音数据
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1435,
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 809, in test_163_中文语音测试_增加第二条语音数据
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1435,
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.164' class='none'>
    <td class='failCase'><div class='testcase'>test_164_中文语音测试_查询第二条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.164')" >
        fail</a>

    <div id='div_ft6.164' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.164').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.164: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 813, in test_164_中文语音测试_查询第二条语音数据
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1435]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 813, in test_164_中文语音测试_查询第二条语音数据
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1435]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.165' class='none'>
    <td class='errorCase'><div class='testcase'>test_165_中文语音测试_播放第二条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.165')" >
        error</a>

    <div id='div_ft6.165' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.165').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.165: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 816, in test_165_中文语音测试_播放第二条语音数据
    TestData().request_and_assert_params("NET", "PLAY_VOICE", {"voice_id": "1435"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 229, in request_and_assert_params
    print(res_json["data"]["send_success_commands"])
          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 816, in test_165_中文语音测试_播放第二条语音数据
    TestData().request_and_assert_params("NET", "PLAY_VOICE", {"voice_id": "1435"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 229, in request_and_assert_params
    print(res_json["data"]["send_success_commands"])
          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.166' class='none'>
    <td class='failCase'><div class='testcase'>test_166_中文语音测试_增加第三条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.166')" >
        fail</a>

    <div id='div_ft6.166' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.166').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.166: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 819, in test_166_中文语音测试_增加第三条语音数据
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1436,
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 819, in test_166_中文语音测试_增加第三条语音数据
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1436,
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.167' class='none'>
    <td class='failCase'><div class='testcase'>test_167_中文语音测试_查询第三条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.167')" >
        fail</a>

    <div id='div_ft6.167' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.167').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.167: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 823, in test_167_中文语音测试_查询第三条语音数据
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1436]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 823, in test_167_中文语音测试_查询第三条语音数据
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1436]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.168' class='none'>
    <td class='errorCase'><div class='testcase'>test_168_中文语音测试_播放第三条语音数据</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.168')" >
        error</a>

    <div id='div_ft6.168' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.168').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.168: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 826, in test_168_中文语音测试_播放第三条语音数据
    TestData().request_and_assert_params("NET", "PLAY_VOICE", {"voice_id": "1436"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 229, in request_and_assert_params
    print(res_json["data"]["send_success_commands"])
          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 826, in test_168_中文语音测试_播放第三条语音数据
    TestData().request_and_assert_params("NET", "PLAY_VOICE", {"voice_id": "1436"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 229, in request_and_assert_params
    print(res_json["data"]["send_success_commands"])
          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.169' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_169_进入半休眠_关锁指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.169')" >
        pass</a>

    <div id='div_pt6.169' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.169').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.169: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.170' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_170_进入半休眠_定位包ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.170')" >
        pass</a>

    <div id='div_pt6.170' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.170').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.170: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.171' class='none'>
    <td class='failCase'><div class='testcase'>test_171_进入半休眠_定位包后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.171')" >
        fail</a>

    <div id='div_ft6.171' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.171').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.171: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 849, in test_171_进入半休眠_定位包后轮锁状态
    self.assertEqual(1, gps_rear_hub_lock_status, "定位包中车辆后轮锁状态不是加锁")
AssertionError: 1 != 0 : 定位包中车辆后轮锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 849, in test_171_进入半休眠_定位包后轮锁状态
    self.assertEqual(1, gps_rear_hub_lock_status, "定位包中车辆后轮锁状态不是加锁")
AssertionError: 1 != 0 : 定位包中车辆后轮锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.172' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_172_进入半休眠_定位包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.173' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_173_进入半休眠_定位包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.174' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_174_进入半休眠_定位包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft6.175' class='none'>
    <td class='failCase'><div class='testcase'>test_175_进入半休眠_定位包中车辆休眠状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.175')" >
        fail</a>

    <div id='div_ft6.175' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.175').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.175: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 865, in test_175_进入半休眠_定位包中车辆休眠状态
    self.assertEqual(1, gps_sleep_status, "定位包中车辆休眠状态不是半休眠")
AssertionError: 1 != 0 : 定位包中车辆休眠状态不是半休眠
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 865, in test_175_进入半休眠_定位包中车辆休眠状态
    self.assertEqual(1, gps_sleep_status, "定位包中车辆休眠状态不是半休眠")
AssertionError: 1 != 0 : 定位包中车辆休眠状态不是半休眠


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.176' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_176_进入半休眠_心跳包ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.176')" >
        pass</a>

    <div id='div_pt6.176' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.176').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.176: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft6.177' class='none'>
    <td class='failCase'><div class='testcase'>test_177_进入半休眠_心跳包后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.177')" >
        fail</a>

    <div id='div_ft6.177' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft6.177').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft6.177: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 877, in test_177_进入半休眠_心跳包后轮锁状态
    self.assertEqual(1, heart_rear_hub_lock_status, "心跳包中车辆后轮锁状态不是加锁")
AssertionError: 1 != 0 : 心跳包中车辆后轮锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test2_scene.py", line 877, in test_177_进入半休眠_心跳包后轮锁状态
    self.assertEqual(1, heart_rear_hub_lock_status, "心跳包中车辆后轮锁状态不是加锁")
AssertionError: 1 != 0 : 心跳包中车辆后轮锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.178' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_178_进入半休眠_心跳包转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.179' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_179_进入半休眠_心跳包车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.180' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_180_进入半休眠_心跳包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.181' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_181_进入半休眠_心跳包中车辆休眠状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.182' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_182_寻车并打开电池锁_寻车并打开电池锁</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.182')" >
        pass</a>

    <div id='div_pt6.182' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.182').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.182: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.183' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_183_寻车并打开电池锁_获取打开电池锁下发时间</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.183')" >
        pass</a>

    <div id='div_pt6.183' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.183').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.183: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.184' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_184_寻车并打开电池锁_获取打开电池锁响应时间</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.184')" >
        pass</a>

    <div id='div_pt6.184' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.184').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.184: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.185' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_185_寻车并打开电池锁_指令下发和响应时间不超过6秒</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt6.186' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_186_寻车后重启ACC状态不变_获取重启前定位包中车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.186')" >
        pass</a>

    <div id='div_pt6.186' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.186').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.186: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.187' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_187_寻车后重启ACC状态不变_下发寻车指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.187')" >
        pass</a>

    <div id='div_pt6.187' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.187').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.187: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.188' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_188_寻车后重启ACC状态不变_下发重启指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.188')" >
        pass</a>

    <div id='div_pt6.188' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.188').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.188: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.189' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_189_寻车后重启ACC状态不变_获取重启后定位包中车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt6.189')" >
        pass</a>

    <div id='div_pt6.189' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt6.189').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt6.189: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt6.190' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_190_寻车后重启ACC状态不变_对比重启前后车辆ACC状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr class='errorClass'>
    <td>test3_command.TestLock</td>
    <td>191</td>
    <td>110</td>
    <td>71</td>
    <td>10</td>
    <td><a href="javascript:showClassDetail('c7',191)">Detail</a></td>
</tr>

<tr id='ft7.1' class='none'>
    <td class='failCase'><div class='testcase'>test_001_网络开锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.1')" >
        fail</a>

    <div id='div_ft7.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.1: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 24, in test_001_网络开锁_指令
    TestData().request_and_assert_params("NET", "OPEN")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '58e19a1a66f0400b854d023c9f5f2c31' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "b3088d1766a24ec99967ad21ae88bea0", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 302, "time": "2025-01-06 19:36:00.370", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"302\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:1\\",\\"msg_id\\":\\"b3088d1766a24ec99967ad21ae88bea0\\",\\"type\\":1,\\"ts\\":1736163360370}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 24, in test_001_网络开锁_指令
    TestData().request_and_assert_params("NET", "OPEN")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '58e19a1a66f0400b854d023c9f5f2c31' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "b3088d1766a24ec99967ad21ae88bea0", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 302, "time": "2025-01-06 19:36:00.370", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"302\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:1\\",\\"msg_id\\":\\"b3088d1766a24ec99967ad21ae88bea0\\",\\"type\\":1,\\"ts\\":1736163360370}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.2' class='none'>
    <td class='failCase'><div class='testcase'>test_002_网络开锁_定位包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.2')" >
        fail</a>

    <div id='div_ft7.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.2: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 29, in test_002_网络开锁_定位包判断车辆ACC状态
    self.assertIn(r'''"acc_status": 1''', globals()["open_gps_data"], "定位包中车辆ACC状态不是供电")
AssertionError: '"acc_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:36:30.050", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255}],\\"GPS\\u901f\\u5ea6\\":255,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":0,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"Position Mode\\":\\"N\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"createTime\\":1736163390050,\\"steCreateTime\\":1736163388000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":2,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":0,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"\\u672a\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":36,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":214748364.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":214.7483647,\\"\\u7ecf\\u5ea6\\":214.7483647,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中车辆ACC状态不是供电
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 29, in test_002_网络开锁_定位包判断车辆ACC状态
    self.assertIn(r'''"acc_status": 1''', globals()["open_gps_data"], "定位包中车辆ACC状态不是供电")
AssertionError: '"acc_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:36:30.050", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255}],\\"GPS\\u901f\\u5ea6\\":255,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":0,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"Position Mode\\":\\"N\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"createTime\\":1736163390050,\\"steCreateTime\\":1736163388000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":2,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":0,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"\\u672a\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":36,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":214748364.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":214.7483647,\\"\\u7ecf\\u5ea6\\":214.7483647,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中车辆ACC状态不是供电


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_003_网络开锁_定位包判断车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft7.4' class='none'>
    <td class='failCase'><div class='testcase'>test_004_网络开锁_定位包判断转把可使用状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.4')" >
        fail</a>

    <div id='div_ft7.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.4: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 38, in test_004_网络开锁_定位包判断转把可使用状态
    self.assertIn(r'''"twist_grip_status": 1''', globals()["open_gps_data"], "定位包中转把可使用状态不是可使用")
AssertionError: '"twist_grip_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:36:30.050", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255}],\\"GPS\\u901f\\u5ea6\\":255,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":0,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"Position Mode\\":\\"N\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"createTime\\":1736163390050,\\"steCreateTime\\":1736163388000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":2,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":0,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"\\u672a\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":36,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":214748364.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":214.7483647,\\"\\u7ecf\\u5ea6\\":214.7483647,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中转把可使用状态不是可使用
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 38, in test_004_网络开锁_定位包判断转把可使用状态
    self.assertIn(r'''"twist_grip_status": 1''', globals()["open_gps_data"], "定位包中转把可使用状态不是可使用")
AssertionError: '"twist_grip_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:36:30.050", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255}],\\"GPS\\u901f\\u5ea6\\":255,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":0,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"Position Mode\\":\\"N\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"createTime\\":1736163390050,\\"steCreateTime\\":1736163388000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":2,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":0,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"\\u672a\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":36,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":214748364.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":214.7483647,\\"\\u7ecf\\u5ea6\\":214.7483647,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中转把可使用状态不是可使用


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.5' class='none'>
    <td class='failCase'><div class='testcase'>test_005_网络开锁_定位包判断车辆使用状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.5')" >
        fail</a>

    <div id='div_ft7.5' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.5').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.5: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 41, in test_005_网络开锁_定位包判断车辆使用状态
    self.assertIn(r'''"usage_status": 0''', globals()["open_gps_data"], "定位包中车辆使用状态不是车辆开启")
AssertionError: '"usage_status": 0' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:36:30.050", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255}],\\"GPS\\u901f\\u5ea6\\":255,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":0,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"Position Mode\\":\\"N\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"createTime\\":1736163390050,\\"steCreateTime\\":1736163388000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":2,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":0,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"\\u672a\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":36,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":214748364.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":214.7483647,\\"\\u7ecf\\u5ea6\\":214.7483647,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中车辆使用状态不是车辆开启
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 41, in test_005_网络开锁_定位包判断车辆使用状态
    self.assertIn(r'''"usage_status": 0''', globals()["open_gps_data"], "定位包中车辆使用状态不是车辆开启")
AssertionError: '"usage_status": 0' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:36:30.050", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255},{\\"id\\":255,\\"snr\\":255}],\\"GPS\\u901f\\u5ea6\\":255,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":0,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"Position Mode\\":\\"N\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":0.0,\\"createTime\\":1736163390050,\\"steCreateTime\\":1736163388000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":2,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":0,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"\\u672a\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":36,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":214748364.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":214.7483647,\\"\\u7ecf\\u5ea6\\":214.7483647,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中车辆使用状态不是车辆开启


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.6' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_006_网络开锁_定位包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft7.7' class='none'>
    <td class='failCase'><div class='testcase'>test_007_网络开锁_心跳包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.7')" >
        fail</a>

    <div id='div_ft7.7' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.7').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.7: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 49, in test_007_网络开锁_心跳包判断车辆ACC状态
    self.assertIn(r'''"acc_status": 1''', globals()["open_heart_data"], "心跳包中车辆ACC状态不是供电")
AssertionError: '"acc_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆ACC状态不是供电
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 49, in test_007_网络开锁_心跳包判断车辆ACC状态
    self.assertIn(r'''"acc_status": 1''', globals()["open_heart_data"], "心跳包中车辆ACC状态不是供电")
AssertionError: '"acc_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆ACC状态不是供电


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.8' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_008_网络开锁_心跳包判断车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft7.9' class='none'>
    <td class='failCase'><div class='testcase'>test_009_网络开锁_心跳包判断转把可使用状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.9')" >
        fail</a>

    <div id='div_ft7.9' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.9').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.9: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 58, in test_009_网络开锁_心跳包判断转把可使用状态
    self.assertIn(r'''"twist_grip_status": 1''', globals()["open_heart_data"], "心跳包中转把可使用状态不是可使用")
AssertionError: '"twist_grip_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中转把可使用状态不是可使用
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 58, in test_009_网络开锁_心跳包判断转把可使用状态
    self.assertIn(r'''"twist_grip_status": 1''', globals()["open_heart_data"], "心跳包中转把可使用状态不是可使用")
AssertionError: '"twist_grip_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中转把可使用状态不是可使用


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.10' class='none'>
    <td class='failCase'><div class='testcase'>test_010_网络开锁_心跳包判断车辆使用状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.10')" >
        fail</a>

    <div id='div_ft7.10' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.10').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.10: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 64, in test_010_网络开锁_心跳包判断车辆使用状态
    self.assertIn(r'''"usage_status": 0''', globals()["open_heart_data"], "心跳包中车辆使用状态不是车辆开启")
AssertionError: '"usage_status": 0' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆使用状态不是车辆开启
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 64, in test_010_网络开锁_心跳包判断车辆使用状态
    self.assertIn(r'''"usage_status": 0''', globals()["open_heart_data"], "心跳包中车辆使用状态不是车辆开启")
AssertionError: '"usage_status": 0' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆使用状态不是车辆开启


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.11' class='none'>
    <td class='failCase'><div class='testcase'>test_010_网络开锁_心跳包判断车辆借还状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.11')" >
        fail</a>

    <div id='div_ft7.11' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.11').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.11: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 61, in test_010_网络开锁_心跳包判断车辆借还状态
    self.assertIn(r'''"usage_status": 0''', globals()["open_heart_data"], "心跳包中车辆借还状态不是借车状态")
AssertionError: '"usage_status": 0' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆借还状态不是借车状态
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 61, in test_010_网络开锁_心跳包判断车辆借还状态
    self.assertIn(r'''"usage_status": 0''', globals()["open_heart_data"], "心跳包中车辆借还状态不是借车状态")
AssertionError: '"usage_status": 0' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 2, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:37:45.602", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163465602,\\"steCreateTime\\":1736163465000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":68,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u64a4\\u9632\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5173\\u95ed\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆借还状态不是借车状态


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.12' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_011_网络开锁_心跳包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.13' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_012_网络关锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.13')" >
        pass</a>

    <div id='div_pt7.13' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.13').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.13: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.14' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_013_网络关锁_定位包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.14')" >
        pass</a>

    <div id='div_pt7.14' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.14').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.14: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.15' class='none'>
    <td class='failCase'><div class='testcase'>test_014_网络关锁_定位包判断车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.15')" >
        fail</a>

    <div id='div_ft7.15' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.15').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.15: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 83, in test_014_网络关锁_定位包判断车辆后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', globals()["close_gps_data"] , "定位包中车辆后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:40:33.114", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":19,\\"snr\\":28},{\\"id\\":2,\\"snr\\":28},{\\"id\\":234,\\"snr\\":25},{\\"id\\":17,\\"snr\\":24},{\\"id\\":21,\\"snr\\":11}],\\"GPS\\u901f\\u5ea6\\":0,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":5,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":7.9,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":8.4,\\"Position Mode\\":\\"A\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":2.7,\\"createTime\\":1736163633114,\\"steCreateTime\\":1736163631000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":9,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":1,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"3D\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":94,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":93.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":39.9988486,\\"\\u7ecf\\u5ea6\\":116.4854891,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 9}' : 定位包中车辆后轮锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 83, in test_014_网络关锁_定位包判断车辆后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', globals()["close_gps_data"] , "定位包中车辆后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:40:33.114", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":19,\\"snr\\":28},{\\"id\\":2,\\"snr\\":28},{\\"id\\":234,\\"snr\\":25},{\\"id\\":17,\\"snr\\":24},{\\"id\\":21,\\"snr\\":11}],\\"GPS\\u901f\\u5ea6\\":0,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":5,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":7.9,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":8.4,\\"Position Mode\\":\\"A\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":2.7,\\"createTime\\":1736163633114,\\"steCreateTime\\":1736163631000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":9,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":1,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"3D\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":94,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":93.7,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":39.9988486,\\"\\u7ecf\\u5ea6\\":116.4854891,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 9}' : 定位包中车辆后轮锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.16' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_015_网络关锁_定位包判断转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.17' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_016_网络关锁_定位包判断车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.18' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_017_网络关锁_定位包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.19' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_018_网络关锁_心跳包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.19')" >
        pass</a>

    <div id='div_pt7.19' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.19').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.19: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.20' class='none'>
    <td class='failCase'><div class='testcase'>test_019_网络关锁_心跳包判断车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.20')" >
        fail</a>

    <div id='div_ft7.20' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.20').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.20: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 107, in test_019_网络关锁_心跳包判断车辆后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', globals()["close_heart_data"], "心跳包中车辆后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:41:45.722", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163705722,\\"steCreateTime\\":1736163705000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":99,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆后轮锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 107, in test_019_网络关锁_心跳包判断车辆后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', globals()["close_heart_data"], "心跳包中车辆后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:41:45.722", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":6,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163705722,\\"steCreateTime\\":1736163705000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":99,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆后轮锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.21' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_020_网络关锁_心跳包判断转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.22' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_021_网络关锁_心跳包判断车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.23' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_022_网络关锁_心跳包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft7.24' class='none'>
    <td class='failCase'><div class='testcase'>test_023_网络撤防_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.24')" >
        fail</a>

    <div id='div_ft7.24' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.24').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.24: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 123, in test_023_网络撤防_指令
    TestData().request_and_assert_params("NET", "CANCEL_DEFENCE")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '21e2d81056f945a299fc496c17fa53ee' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "6c7023e568f6410ca8315b5e1d557e1b", "msg_type": null, "rtk_type": null, "params": "1774", "sim": null, "cmd_code": 304, "time": "2025-01-06 19:43:47.749", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"304\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:101\\",\\"msg_id\\":\\"6c7023e568f6410ca8315b5e1d557e1b\\",\\"params\\":\\"1774\\",\\"type\\":1,\\"ts\\":1736163827749}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 123, in test_023_网络撤防_指令
    TestData().request_and_assert_params("NET", "CANCEL_DEFENCE")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 256, in request_and_assert_params
    self.assertIn(msg_id, json.dumps(self.get_logs_query(10)),
AssertionError: '21e2d81056f945a299fc496c17fa53ee' not found in '{"bike_sn": "816700101", "time_linetype": 10, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": null, "error_code": null, "msg_id": "6c7023e568f6410ca8315b5e1d557e1b", "msg_type": null, "rtk_type": null, "params": "1774", "sim": null, "cmd_code": 304, "time": "2025-01-06 19:43:47.749", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"code\\":\\"304\\",\\"errorflag\\":0,\\"host\\":\\"10.9.144.114\\",\\"from\\":\\"ebike-operate-api:4:4:101\\",\\"msg_id\\":\\"6c7023e568f6410ca8315b5e1d557e1b\\",\\"params\\":\\"1774\\",\\"type\\":1,\\"ts\\":1736163827749}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到下发指令报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.25' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_024_网络撤防_定位包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.25')" >
        pass</a>

    <div id='div_pt7.25' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.25').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.25: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.26' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_025_网络撤防_定位包判断车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.27' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_026_网络撤防_定位包判断转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.28' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_027_网络撤防_定位包判断车辆使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.29' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_028_网络撤防_定位包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.30' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_029_网络撤防_心跳包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.30')" >
        pass</a>

    <div id='div_pt7.30' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.30').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.30: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.31' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_030_网络撤防_心跳包判断车辆后轮锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.32' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_031_网络撤防_心跳包判断转把可使用状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='ft7.33' class='none'>
    <td class='failCase'><div class='testcase'>test_032_网络撤防_心跳包判断车辆使用状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.33')" >
        fail</a>

    <div id='div_ft7.33' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.33').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.33: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 160, in test_032_网络撤防_心跳包判断车辆使用状态
    self.assertIn(r'''"usage_status": 2''', globals()["cancel_defence_heart_data"], "心跳包中车辆使用状态不是车辆撤防")
AssertionError: '"usage_status": 2' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:45:45.700", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":5,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163945700,\\"steCreateTime\\":1736163945000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":130,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆使用状态不是车辆撤防
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 160, in test_032_网络撤防_心跳包判断车辆使用状态
    self.assertIn(r'''"usage_status": 2''', globals()["cancel_defence_heart_data"], "心跳包中车辆使用状态不是车辆撤防")
AssertionError: '"usage_status": 2' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:45:45.700", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":5,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736163945700,\\"steCreateTime\\":1736163945000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":130,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中车辆使用状态不是车辆撤防


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.34' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_033_网络撤防_心跳包判断车辆电机加锁状态</div></td>
    <td colspan='5' align='center'>pass</td>
</tr>

<tr id='pt7.35' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_034_网络打开电池锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.35')" >
        pass</a>

    <div id='div_pt7.35' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.35').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.35: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.36' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_035_网络打开电池锁_定位包判断电池锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.36')" >
        pass</a>

    <div id='div_pt7.36' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.36').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.36: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.37' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_036_网络打开电池锁_心跳包判断电池锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.37')" >
        pass</a>

    <div id='div_pt7.37' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.37').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.37: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.38' class='none'>
    <td class='failCase'><div class='testcase'>test_037_网络关闭电池锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.38')" >
        fail</a>

    <div id='div_ft7.38' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.38').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.38: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 181, in test_037_网络关闭电池锁_指令
    TestData().request_and_assert_params("NET", "CLOSE_BATTERY_LOCK")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 261, in request_and_assert_params
    self.assertIn(r'''"status": 200''', act, "iot平台响应结果报文code不正确")
AssertionError: '"status": 200' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 204, "error_code": null, "msg_id": "79ecd318c6284874a3e5edb54623f512", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 306, "time": "2025-01-06 19:51:24.904", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"306\\",\\"payload\\":{\\"result\\":1,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"msgId\\":\\"79ecd318c6284874a3e5edb54623f512\\",\\"sen\\":157,\\"ts\\":1736164284},\\"type\\":1,\\"msg_id\\":\\"79ecd318c6284874a3e5edb54623f512\\",\\"status\\":\\"204\\",\\"ts\\":1736164284000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736164284904}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : iot平台响应结果报文code不正确
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 181, in test_037_网络关闭电池锁_指令
    TestData().request_and_assert_params("NET", "CLOSE_BATTERY_LOCK")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 261, in request_and_assert_params
    self.assertIn(r'''"status": 200''', act, "iot平台响应结果报文code不正确")
AssertionError: '"status": 200' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 204, "error_code": null, "msg_id": "79ecd318c6284874a3e5edb54623f512", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 306, "time": "2025-01-06 19:51:24.904", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"306\\",\\"payload\\":{\\"result\\":1,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"msgId\\":\\"79ecd318c6284874a3e5edb54623f512\\",\\"sen\\":157,\\"ts\\":1736164284},\\"type\\":1,\\"msg_id\\":\\"79ecd318c6284874a3e5edb54623f512\\",\\"status\\":\\"204\\",\\"ts\\":1736164284000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736164284904}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : iot平台响应结果报文code不正确


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.39' class='none'>
    <td class='failCase'><div class='testcase'>test_038_网络关闭电池锁_定位包判断电池锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.39')" >
        fail</a>

    <div id='div_ft7.39' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.39').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.39: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 186, in test_038_网络关闭电池锁_定位包判断电池锁状态
    self.assertIn(r'''"battery_lock_status": 1''', gps_data, "定位包中电池锁状态不是加锁")
AssertionError: '"battery_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:52:02.875", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":14,\\"snr\\":33},{\\"id\\":19,\\"snr\\":31},{\\"id\\":17,\\"snr\\":30},{\\"id\\":2,\\"snr\\":24},{\\"id\\":234,\\"snr\\":24}],\\"GPS\\u901f\\u5ea6\\":0,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":7,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.5,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":2.8,\\"Position Mode\\":\\"A\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51360,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":2.3,\\"createTime\\":1736164322875,\\"steCreateTime\\":1736164321000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":1,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"3D\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":161,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":69.5,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":39.9988178,\\"\\u7ecf\\u5ea6\\":116.4853894,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中电池锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 186, in test_038_网络关闭电池锁_定位包判断电池锁状态
    self.assertIn(r'''"battery_lock_status": 1''', gps_data, "定位包中电池锁状态不是加锁")
AssertionError: '"battery_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:52:02.875", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":14,\\"snr\\":33},{\\"id\\":19,\\"snr\\":31},{\\"id\\":17,\\"snr\\":30},{\\"id\\":2,\\"snr\\":24},{\\"id\\":234,\\"snr\\":24}],\\"GPS\\u901f\\u5ea6\\":0,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":7,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.5,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":2.8,\\"Position Mode\\":\\"A\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51360,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":2.3,\\"createTime\\":1736164322875,\\"steCreateTime\\":1736164321000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":1,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"3D\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":161,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":69.5,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":39.9988178,\\"\\u7ecf\\u5ea6\\":116.4853894,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中电池锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.40' class='none'>
    <td class='failCase'><div class='testcase'>test_039_网络关闭电池锁_心跳包判断电池锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.40')" >
        fail</a>

    <div id='div_ft7.40' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.40').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.40: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 191, in test_039_网络关闭电池锁_心跳包判断电池锁状态
    self.assertIn(r'''"battery_lock_status": 1''', heart_data, "心跳包中电池锁状态不是加锁")
AssertionError: '"battery_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:53:45.740", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":7,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736164425740,\\"steCreateTime\\":1736164425000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":168,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中电池锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 191, in test_039_网络关闭电池锁_心跳包判断电池锁状态
    self.assertIn(r'''"battery_lock_status": 1''', heart_data, "心跳包中电池锁状态不是加锁")
AssertionError: '"battery_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51312, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 0, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:53:45.740", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":7,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736164425740,\\"steCreateTime\\":1736164425000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":168,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u672a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51312,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中电池锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.41' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_040_网络打开后轮锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.41')" >
        pass</a>

    <div id='div_pt7.41' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.41').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.41: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.42' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_041_网络打开后轮锁_定位包判断后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.42')" >
        pass</a>

    <div id='div_pt7.42' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.42').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.42: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.43' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_042_网络打开后轮锁_心跳包判断后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.43')" >
        pass</a>

    <div id='div_pt7.43' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.43').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.43: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.44' class='none'>
    <td class='failCase'><div class='testcase'>test_043_网络关闭后轮锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.44')" >
        fail</a>

    <div id='div_ft7.44' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.44').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.44: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 215, in test_043_网络关闭后轮锁_指令
    TestData().request_and_assert_params("NET", "CLOSE_WHEEL_LOCK")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '6e39ea2eb3a84262822016dd110dde5e' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "ef4358e5d69d4e938f646b38386c9356", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 343, "time": "2025-01-06 19:55:11.353", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"343\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"msgId\\":\\"ef4358e5d69d4e938f646b38386c9356\\",\\"sen\\":170,\\"ts\\":1736164511},\\"type\\":1,\\"msg_id\\":\\"ef4358e5d69d4e938f646b38386c9356\\",\\"status\\":\\"200\\",\\"ts\\":1736164511000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736164511353}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 215, in test_043_网络关闭后轮锁_指令
    TestData().request_and_assert_params("NET", "CLOSE_WHEEL_LOCK")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '6e39ea2eb3a84262822016dd110dde5e' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "ef4358e5d69d4e938f646b38386c9356", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 343, "time": "2025-01-06 19:55:11.353", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"343\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"msgId\\":\\"ef4358e5d69d4e938f646b38386c9356\\",\\"sen\\":170,\\"ts\\":1736164511},\\"type\\":1,\\"msg_id\\":\\"ef4358e5d69d4e938f646b38386c9356\\",\\"status\\":\\"200\\",\\"ts\\":1736164511000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736164511353}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.45' class='none'>
    <td class='failCase'><div class='testcase'>test_044_网络关闭后轮锁_定位包判断后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.45')" >
        fail</a>

    <div id='div_ft7.45' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.45').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.45: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 223, in test_044_网络关闭后轮锁_定位包判断后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', gps_data, "定位包中后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 1, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:59:58.002", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":17,\\"snr\\":28},{\\"id\\":19,\\"snr\\":26},{\\"id\\":14,\\"snr\\":24},{\\"id\\":2,\\"snr\\":21},{\\"id\\":210,\\"snr\\":17}],\\"GPS\\u901f\\u5ea6\\":0,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":8,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.6,\\"Position Mode\\":\\"A\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.2,\\"createTime\\":1736164798002,\\"steCreateTime\\":1736164796000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":1,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"3D\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":3,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":69.1,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":39.9988449,\\"\\u7ecf\\u5ea6\\":116.4854641,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u534a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中后轮锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 223, in test_044_网络关闭后轮锁_定位包判断后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', gps_data, "定位包中后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 1, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 2, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 19:59:58.002", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS \\u6700\\u5f3a5\\u9897\\u536b\\u661f\\u7f16\\u53f7\\u53ca\\u5f3a\\u5ea6\\":[{\\"id\\":17,\\"snr\\":28},{\\"id\\":19,\\"snr\\":26},{\\"id\\":14,\\"snr\\":24},{\\"id\\":2,\\"snr\\":21},{\\"id\\":210,\\"snr\\":17}],\\"GPS\\u901f\\u5ea6\\":0,\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":8,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"HDOP\\u6c34\\u5e73\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.0,\\"PDOP\\u7efc\\u5408\\u4f4d\\u7f6e\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.6,\\"Position Mode\\":\\"A\\",\\"STE \\u81ea\\u91c7\\u7535\\u538b\\uff0c\\u5355\\u4f4d:mV\\":51312,\\"VDOP\\u5782\\u76f4\\u7cbe\\u5ea6\\u56e0\\u5b50\\":1.2,\\"createTime\\":1736164798002,\\"steCreateTime\\":1736164796000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5355\\u6b21\\u91cc\\u7a0b\\u6570\\":0,\\"\\u53f3\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u57fa\\u7ad9\\u4fe1\\u606f\\":{\\"cellId\\":60866,\\"lac\\":4219,\\"mcc\\":460,\\"mnc\\":15},\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4ID\\":\\"0000000287454020\\",\\"\\u5934\\u76d4\\u4ed3\\u95ed\\u5408\\u72b6\\u6001\\":\\"\\u5df2\\u95ed\\u5408\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5934\\u76d4\\u9501\\u72b6\\u6001\\":\\"\\u52a0\\u9501\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\u7c7b\\u578b\\":1,\\"\\u5b9a\\u4f4d\\u7c7b\\u578b\\":\\"3D\\u5b9a\\u4f4d\\",\\"\\u5de6\\u5239\\u628a\\u7535\\u538b\\u503c\\":0,\\"\\u603b\\u91cc\\u7a0b\\":4605,\\"\\u62a5\\u6587\\u7801\\":2,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u65b9\\u4f4d\\u89d2\\":0,\\"\\u65b9\\u4f4d\\u89d2\\u53ef\\u4fe1\\u5ea6\\":255,\\"\\u667a\\u80fd\\u5934\\u76d4\\u6d41\\u7a0b\\u72b6\\u6001\\":\\"S4\\",\\"\\u6d41\\u6c34\\u53f7\\":3,\\"\\u6d77\\u62d4\\u9ad8\\u5ea6\\":69.1,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u7eac\\u5ea6\\":39.9988449,\\"\\u7ecf\\u5ea6\\":116.4854641,\\"\\u8c03\\u901f\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u534a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8f6c\\u628a\\u970d\\u5c14\\u7535\\u538b\\u503c\\":0,\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\",\\"\\u970d\\u5c14\\u901f\\u5ea6\\":0}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 定位包中后轮锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.46' class='none'>
    <td class='failCase'><div class='testcase'>test_045_网络关闭后轮锁_心跳包判断后轮锁状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.46')" >
        fail</a>

    <div id='div_ft7.46' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.46').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.46: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 231, in test_045_网络关闭后轮锁_心跳包判断后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', heart_data, "心跳包中后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 1, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 20:01:58.391", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":11,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736164918391,\\"steCreateTime\\":1736164917000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":5,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u534a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中后轮锁状态不是加锁
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 231, in test_045_网络关闭后轮锁_心跳包判断后轮锁状态
    self.assertIn(r'''"rear_hub_lock_status": 1''', heart_data, "心跳包中后轮锁状态不是加锁")
AssertionError: '"rear_hub_lock_status": 1' not found in '{"bike_sn": "816700101", "time_linetype": 30, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": null, "product_name": null, "login_reason": null, "battery_sn": null, "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": 51360, "cycle_count": null, "usage_status": 1, "motion_status": 0, "hub_motor_lock_status": 0, "acc_status": 0, "sleep_status": 1, "bluetooth_status": 0, "battery_lock_status": 0, "riding_status": 0, "battery_vacancy_status": 1, "twist_grip_status": 0, "rear_hub_lock_status": 0, "alarm_type": null, "alarm_status": null, "cmd": 5, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": null, "status": null, "error_code": null, "msg_id": null, "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": null, "time": "2025-01-06 20:01:58.391", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"GPS\\u9501\\u5b9a\\u536b\\u661f\\u6570\\":11,\\"GSM\\u4fe1\\u53f7\\u5f3a\\u5ea6\\":9,\\"createTime\\":1736164918391,\\"steCreateTime\\":1736164917000,\\"\\u534f\\u8bae\\u7248\\u672c\\u53f7\\":\\"4_7\\",\\"\\u5907\\u7528\\u7535\\u6c60\\u7535\\u91cf\\":8,\\"\\u5916\\u63a5\\u7535\\u6e90\\u5728\\u4f4d\\u72b6\\u6001\\":\\"\\u5728\\u4f4d\\",\\"\\u5934\\u76d4\\u4f69\\u6234\\u72b6\\u6001\\":\\"\\u672a\\u4f69\\u6234\\",\\"\\u5934\\u76d4\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u5b9a\\u4f4d\\u72b6\\u6001\\":1,\\"\\u62a5\\u6587\\u7801\\":5,\\"\\u63a7\\u5236\\u5668\\u72b6\\u6001\\u6709\\u6548\\u4f4d\\":\\"\\u6709\\u6548\\",\\"\\u63a7\\u5236\\u5668\\u8fd0\\u884c\\u6a21\\u5f0f\\":\\"\\u8f6c\\u628a\\",\\"\\u63a7\\u5236\\u5668\\u9274\\u6743\\u4f7f\\u80fd\\u72b6\\u6001\\":\\"\\u7981\\u80fd\\",\\"\\u6570\\u636e\\u7c7b\\u578b\\":0,\\"\\u6d41\\u6c34\\u53f7\\":5,\\"\\u7535\\u6c60\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u79fb\\u52a8\\u7f51\\u7edc\\u7c7b\\u578b\\":\\"TYPE_4G\\",\\"\\u8f66\\u8f86ACC\\u72b6\\u6001\\":\\"\\u65ad\\u7535\\",\\"\\u8f66\\u8f86\\u4f11\\u7720\\u72b6\\u6001\\":\\"\\u534a\\u4f11\\u7720\\",\\"\\u8f66\\u8f86\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u8f66\\u8f86\\u5173\\u95ed\\",\\"\\u8f66\\u8f86\\u540e\\u8f6e\\u9501\\u72b6\\u6001\\":\\"\\u5f00\\u9501\\",\\"\\u8f66\\u8f86\\u7535\\u673a\\u52a0\\u9501\\u72b6\\u6001\\":\\"\\u89e3\\u9501\\",\\"\\u8f66\\u8f86\\u84dd\\u7259\\u8fde\\u63a5\\u72b6\\u6001\\":\\"\\u672a\\u8fde\\u63a5\\",\\"\\u8f66\\u8f86\\u9a91\\u884c\\u72b6\\u6001\\":\\"\\u975e\\u9a91\\u884c\\",\\"\\u8f6c\\u628a\\u53ef\\u4f7f\\u7528\\u72b6\\u6001\\":\\"\\u5931\\u8d25\\",\\"\\u8fd0\\u52a8\\u72b6\\u6001\\":\\"\\u9759\\u6b62\\",\\"\\u9502\\u7535\\u6c60\\u7ec4\\u603b\\u7535\\u538b(mV)\\":51360,\\"\\u9632\\u76d7\\u6a21\\u5f0f\\":\\"\\u5f00\\u542f\\"}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": 9, "standby_battery_capacity": 8}' : 心跳包中后轮锁状态不是加锁


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.47' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_046_网络寻车_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.47')" >
        pass</a>

    <div id='div_pt7.47' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.47').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.47: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.48' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_047_网络寻车_定位包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.48')" >
        pass</a>

    <div id='div_pt7.48' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.48').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.48: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.49' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_048_网络寻车_心跳包判断车辆ACC状态</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.49')" >
        pass</a>

    <div id='div_pt7.49' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.49').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.49: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.50' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_049_网络更新蓝牙token_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.50')" >
        pass</a>

    <div id='div_pt7.50' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.50').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.50: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.51' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_050_网络强制更新蓝牙token_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.51')" >
        pass</a>

    <div id='div_pt7.51' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.51').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.51: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.52' class='none'>
    <td class='failCase'><div class='testcase'>test_051_网络增加语音数据_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.52')" >
        fail</a>

    <div id='div_ft7.52' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.52').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.52: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 256, in test_051_网络增加语音数据_指令
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1639, "voice_url": "http://media1.songguo7.com//c7099da4-8609-484d-934f-3e973e1a07f3.mp3"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 256, in test_051_网络增加语音数据_指令
    TestData().request_and_assert_data("NET", "ADD_VOICE", {"voice_id": 1639, "voice_url": "http://media1.songguo7.com//c7099da4-8609-484d-934f-3e973e1a07f3.mp3"})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.53' class='none'>
    <td class='failCase'><div class='testcase'>test_052_网络查询语音数据_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.53')" >
        fail</a>

    <div id='div_ft7.53' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.53').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.53: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 259, in test_052_网络查询语音数据_指令
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1639]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 259, in test_052_网络查询语音数据_指令
    TestData().request_and_assert_data("NET", "QUERY_VOICE", {"voice_ids": [1639]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.54' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_053_网络远程语音_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.54')" >
        pass</a>

    <div id='div_pt7.54' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.54').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.54: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.55' class='none'>
    <td class='failCase'><div class='testcase'>test_054_网络删除语音数据_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.55')" >
        fail</a>

    <div id='div_ft7.55' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.55').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.55: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 265, in test_054_网络删除语音数据_指令
    TestData().request_and_assert_data("NET", "DELETE_VOICE", {"voice_ids": [1639]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 265, in test_054_网络删除语音数据_指令
    TestData().request_and_assert_data("NET", "DELETE_VOICE", {"voice_ids": [1639]})
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 273, in request_and_assert_data
    self.assertEqual(0, res_json["code"], "下发控制指令响应结果code不成功")
AssertionError: 0 != 10001 : 下发控制指令响应结果code不成功


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.56' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_055_网络重启_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.56')" >
        pass</a>

    <div id='div_pt7.56' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.56').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.56: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.57' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_056_网络上报电池包_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.57')" >
        pass</a>

    <div id='div_pt7.57' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.57').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.57: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.58' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_057_网络上报定位包_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.58')" >
        pass</a>

    <div id='div_pt7.58' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.58').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.58: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.59' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_058_网络头盔车辆开启_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.59')" >
        pass</a>

    <div id='div_pt7.59' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.59').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.59: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.60' class='none'>
    <td class='failCase'><div class='testcase'>test_059_网络头盔车辆关闭_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.60')" >
        fail</a>

    <div id='div_ft7.60' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.60').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.60: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 282, in test_059_网络头盔车辆关闭_指令
    TestData().request_and_assert_params("NET", "SMART_HELMET_LOCK")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 253, in request_and_assert_params
    self.assertIn(r'''"status": 204''', act, "iot平台响应结果报文code不正确")
AssertionError: '"status": 204' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "335302862c884caab6653d347c911710", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 375, "time": "2025-01-06 20:16:35.897", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"375\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"msgId\\":\\"335302862c884caab6653d347c911710\\",\\"sen\\":23,\\"ts\\":1736165795},\\"type\\":1,\\"msg_id\\":\\"335302862c884caab6653d347c911710\\",\\"status\\":\\"200\\",\\"ts\\":1736165795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736165795897}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : iot平台响应结果报文code不正确
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 282, in test_059_网络头盔车辆关闭_指令
    TestData().request_and_assert_params("NET", "SMART_HELMET_LOCK")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 253, in request_and_assert_params
    self.assertIn(r'''"status": 204''', act, "iot平台响应结果报文code不正确")
AssertionError: '"status": 204' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "335302862c884caab6653d347c911710", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 375, "time": "2025-01-06 20:16:35.897", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"375\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"msgId\\":\\"335302862c884caab6653d347c911710\\",\\"sen\\":23,\\"ts\\":1736165795},\\"type\\":1,\\"msg_id\\":\\"335302862c884caab6653d347c911710\\",\\"status\\":\\"200\\",\\"ts\\":1736165795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736165795897}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : iot平台响应结果报文code不正确


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.61' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_060_网络头盔借用_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.61')" >
        pass</a>

    <div id='div_pt7.61' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.61').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.61: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.62' class='none'>
    <td class='failCase'><div class='testcase'>test_061_网络头盔归还_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.62')" >
        fail</a>

    <div id='div_ft7.62' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.62').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.62: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 289, in test_061_网络头盔归还_指令
    TestData().request_and_assert_params("NET", "HELMET_RETURN")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 253, in request_and_assert_params
    self.assertIn(r'''"status": 204''', act, "iot平台响应结果报文code不正确")
AssertionError: '"status": 204' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "023b7e8e597b44839787ca818c9a8696", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 377, "time": "2025-01-06 20:24:08.790", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"377\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"durationBeforeRevert\\":2,\\"msgId\\":\\"023b7e8e597b44839787ca818c9a8696\\",\\"type\\":3,\\"sen\\":36,\\"ts\\":1736166247},\\"type\\":1,\\"msg_id\\":\\"023b7e8e597b44839787ca818c9a8696\\",\\"status\\":\\"200\\",\\"ts\\":1736166247000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736166248790}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : iot平台响应结果报文code不正确
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 289, in test_061_网络头盔归还_指令
    TestData().request_and_assert_params("NET", "HELMET_RETURN")
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 253, in request_and_assert_params
    self.assertIn(r'''"status": 204''', act, "iot平台响应结果报文code不正确")
AssertionError: '"status": 204' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "023b7e8e597b44839787ca818c9a8696", "msg_type": null, "rtk_type": null, "params": null, "sim": null, "cmd_code": 377, "time": "2025-01-06 20:24:08.790", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"code\\":\\"377\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"durationBeforeRevert\\":2,\\"msgId\\":\\"023b7e8e597b44839787ca818c9a8696\\",\\"type\\":3,\\"sen\\":36,\\"ts\\":1736166247},\\"type\\":1,\\"msg_id\\":\\"023b7e8e597b44839787ca818c9a8696\\",\\"status\\":\\"200\\",\\"ts\\":1736166247000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736166248790}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : iot平台响应结果报文code不正确


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.63' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_062_网络开头盔锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.63')" >
        pass</a>

    <div id='div_pt7.63' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.63').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.63: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.64' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_063_网络关头盔锁_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.64')" >
        pass</a>

    <div id='div_pt7.64' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.64').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.64: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.65' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_064_网络开头盔锁回位_指令</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.65')" >
        pass</a>

    <div id='div_pt7.65' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.65').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.65: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.66' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_065_网络查询读写参数_VIBL</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.66')" >
        pass</a>

    <div id='div_pt7.66' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.66').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.66: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.67' class='none'>
    <td class='failCase'><div class='testcase'>test_066_网络设置读写参数_VIBL</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.67')" >
        fail</a>

    <div id='div_ft7.67' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.67').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.67: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 312, in test_066_网络设置读写参数_VIBL
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'VIBL =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 312, in test_066_网络设置读写参数_VIBL
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'VIBL =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.68' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_067_网络查询读写参数_FREQ</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.68')" >
        pass</a>

    <div id='div_pt7.68' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.68').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.68: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.69' class='none'>
    <td class='failCase'><div class='testcase'>test_068_网络设置读写参数_FREQ</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.69')" >
        fail</a>

    <div id='div_ft7.69' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.69').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.69: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 326, in test_068_网络设置读写参数_FREQ
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'FREQ=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 326, in test_068_网络设置读写参数_FREQ
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'FREQ=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.70' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_069_网络查询读写参数_PULSE</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.70')" >
        pass</a>

    <div id='div_pt7.70' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.70').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.70: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.71' class='none'>
    <td class='failCase'><div class='testcase'>test_070_网络设置读写参数_PULSE</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.71')" >
        fail</a>

    <div id='div_ft7.71' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.71').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.71: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 340, in test_070_网络设置读写参数_PULSE
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'PULSE=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 340, in test_070_网络设置读写参数_PULSE
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'PULSE=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.72' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_071_网络查询读写参数_DOMAIN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.72')" >
        pass</a>

    <div id='div_pt7.72' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.72').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.72: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.73' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_072_网络设置读写参数_DOMAIN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.73')" >
        pass</a>

    <div id='div_pt7.73' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.73').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.73: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.74' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_073_网络查询读写参数_BLEKG</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.74')" >
        pass</a>

    <div id='div_pt7.74' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.74').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.74: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.75' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_074_网络设置读写参数_BLEKG</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.75')" >
        pass</a>

    <div id='div_pt7.75' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.75').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.75: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.76' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_075_网络查询读写参数_SLEEPT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.76')" >
        pass</a>

    <div id='div_pt7.76' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.76').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.76: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.77' class='none'>
    <td class='failCase'><div class='testcase'>test_076_网络设置读写参数_SLEEPT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.77')" >
        fail</a>

    <div id='div_ft7.77' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.77').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.77: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 383, in test_076_网络设置读写参数_SLEEPT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'SLEEPT=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 383, in test_076_网络设置读写参数_SLEEPT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'SLEEPT=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.78' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_077_网络查询读写参数_MAXECUSPEED</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.78')" >
        pass</a>

    <div id='div_pt7.78' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.78').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.78: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.79' class='none'>
    <td class='failCase'><div class='testcase'>test_078_网络设置读写参数_MAXECUSPEED</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.79')" >
        fail</a>

    <div id='div_ft7.79' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.79').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.79: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 397, in test_078_网络设置读写参数_MAXECUSPEED
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'MAXECUSPEED=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 397, in test_078_网络设置读写参数_MAXECUSPEED
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'MAXECUSPEED=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.80' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_079_网络查询读写参数_SWITCHMODESOC</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.80')" >
        pass</a>

    <div id='div_pt7.80' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.80').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.80: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.81' class='none'>
    <td class='failCase'><div class='testcase'>test_080_网络设置读写参数_SWITCHMODESOC</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.81')" >
        fail</a>

    <div id='div_ft7.81' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.81').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.81: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 411, in test_080_网络设置读写参数_SWITCHMODESOC
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'SWITCHMODESOC=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 411, in test_080_网络设置读写参数_SWITCHMODESOC
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'SWITCHMODESOC=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.82' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_081_网络查询读写参数_DFTOUTPOFFILTERT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.82')" >
        pass</a>

    <div id='div_pt7.82' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.82').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.82: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.83' class='none'>
    <td class='failCase'><div class='testcase'>test_082_网络设置读写参数_DFTOUTPOFFILTERT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.83')" >
        fail</a>

    <div id='div_ft7.83' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.83').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.83: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 425, in test_082_网络设置读写参数_DFTOUTPOFFILTERT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DFTOUTPOFFILTERT=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 425, in test_082_网络设置读写参数_DFTOUTPOFFILTERT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DFTOUTPOFFILTERT=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.84' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_083_网络查询读写参数_DFTLOCKVOICEPLAYT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.84')" >
        pass</a>

    <div id='div_pt7.84' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.84').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.84: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.85' class='none'>
    <td class='failCase'><div class='testcase'>test_084_网络设置读写参数_DFTLOCKVOICEPLAYT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.85')" >
        fail</a>

    <div id='div_ft7.85' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.85').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.85: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 439, in test_084_网络设置读写参数_DFTLOCKVOICEPLAYT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DFTLOCKVOICEPLAYT=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 439, in test_084_网络设置读写参数_DFTLOCKVOICEPLAYT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DFTLOCKVOICEPLAYT=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.86' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_085_网络查询读写参数_ALARMFREQ</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.86')" >
        pass</a>

    <div id='div_pt7.86' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.86').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.86: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.87' class='none'>
    <td class='failCase'><div class='testcase'>test_086_网络设置读写参数_ALARMFREQ</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.87')" >
        fail</a>

    <div id='div_ft7.87' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.87').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.87: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 453, in test_086_网络设置读写参数_ALARMFREQ
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'ALARMFREQ=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 453, in test_086_网络设置读写参数_ALARMFREQ
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'ALARMFREQ=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.88' class='none'>
    <td class='failCase'><div class='testcase'>test_087_网络查询读写参数_DIAMETER</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.88')" >
        fail</a>

    <div id='div_ft7.88' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.88').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.88: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 456, in test_087_网络查询读写参数_DIAMETER
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "DIAMETER")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '8bfe0c2dd44f45e3ad58a660029330f7' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "6dc28c6225924b8ebfb9d90946b6aa3b", "msg_type": null, "rtk_type": null, "params": "ALARMFREQ= 6", "sim": null, "cmd_code": 331, "time": "2025-01-06 20:45:38.772", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"ALARMFREQ=FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"ALARMFREQ=FAIL\\",\\"msgId\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"sen\\":28,\\"ts\\":1736167537},\\"type\\":1,\\"msg_id\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"params\\":\\"ALARMFREQ= 6\\",\\"status\\":\\"200\\",\\"ts\\":1736167537000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736167538772}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 456, in test_087_网络查询读写参数_DIAMETER
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "DIAMETER")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '8bfe0c2dd44f45e3ad58a660029330f7' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "6dc28c6225924b8ebfb9d90946b6aa3b", "msg_type": null, "rtk_type": null, "params": "ALARMFREQ= 6", "sim": null, "cmd_code": 331, "time": "2025-01-06 20:45:38.772", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"ALARMFREQ=FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"ALARMFREQ=FAIL\\",\\"msgId\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"sen\\":28,\\"ts\\":1736167537},\\"type\\":1,\\"msg_id\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"params\\":\\"ALARMFREQ= 6\\",\\"status\\":\\"200\\",\\"ts\\":1736167537000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736167538772}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.89' class='none'>
    <td class='errorCase'><div class='testcase'>test_088_网络设置读写参数_DIAMETER</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.89')" >
        error</a>

    <div id='div_ft7.89' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.89').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.89: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 464, in test_088_网络设置读写参数_DIAMETER
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","DIAMETER= "+globals()["DIAMETER"])
                                                                                  ~~~~~~~~~^^^^^^^^^^^^
KeyError: 'DIAMETER'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 464, in test_088_网络设置读写参数_DIAMETER
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","DIAMETER= "+globals()["DIAMETER"])
                                                                                  ~~~~~~~~~^^^^^^^^^^^^
KeyError: 'DIAMETER'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.90' class='none'>
    <td class='failCase'><div class='testcase'>test_089_网络查询读写参数_ALNICONUM</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.90')" >
        fail</a>

    <div id='div_ft7.90' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.90').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.90: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 470, in test_089_网络查询读写参数_ALNICONUM
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "ALNICONUM")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'fc4378b1ef284c3984c9d7ab212b82eb' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "6dc28c6225924b8ebfb9d90946b6aa3b", "msg_type": null, "rtk_type": null, "params": "ALARMFREQ= 6", "sim": null, "cmd_code": 331, "time": "2025-01-06 20:45:38.772", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"ALARMFREQ=FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"ALARMFREQ=FAIL\\",\\"msgId\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"sen\\":28,\\"ts\\":1736167537},\\"type\\":1,\\"msg_id\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"params\\":\\"ALARMFREQ= 6\\",\\"status\\":\\"200\\",\\"ts\\":1736167537000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736167538772}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 470, in test_089_网络查询读写参数_ALNICONUM
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "ALNICONUM")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'fc4378b1ef284c3984c9d7ab212b82eb' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "6dc28c6225924b8ebfb9d90946b6aa3b", "msg_type": null, "rtk_type": null, "params": "ALARMFREQ= 6", "sim": null, "cmd_code": 331, "time": "2025-01-06 20:45:38.772", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"ALARMFREQ=FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"ALARMFREQ=FAIL\\",\\"msgId\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"sen\\":28,\\"ts\\":1736167537},\\"type\\":1,\\"msg_id\\":\\"6dc28c6225924b8ebfb9d90946b6aa3b\\",\\"params\\":\\"ALARMFREQ= 6\\",\\"status\\":\\"200\\",\\"ts\\":1736167537000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736167538772}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.91' class='none'>
    <td class='errorCase'><div class='testcase'>test_090_网络设置读写参数_ALNICONUM</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.91')" >
        error</a>

    <div id='div_ft7.91' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.91').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.91: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 478, in test_090_网络设置读写参数_ALNICONUM
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","ALNICONUM= "+globals()["ALNICONUM"])
                                                                                   ~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'ALNICONUM'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 478, in test_090_网络设置读写参数_ALNICONUM
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","ALNICONUM= "+globals()["ALNICONUM"])
                                                                                   ~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'ALNICONUM'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.92' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_091_网络查询读写参数_DFTTIMEOUT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.92')" >
        pass</a>

    <div id='div_pt7.92' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.92').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.92: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.93' class='none'>
    <td class='failCase'><div class='testcase'>test_092_网络设置读写参数_DFTTIMEOUT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.93')" >
        fail</a>

    <div id='div_ft7.93' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.93').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.93: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 495, in test_092_网络设置读写参数_DFTTIMEOUT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DFTTIMEOUT=FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 495, in test_092_网络设置读写参数_DFTTIMEOUT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DFTTIMEOUT=FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.94' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_093_网络查询读写参数_BTNAME</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.94')" >
        pass</a>

    <div id='div_pt7.94' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.94').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.94: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.95' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_094_网络设置读写参数_BTNAME</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.95')" >
        pass</a>

    <div id='div_pt7.95' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.95').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.95: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.96' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_095_网络查询读写参数_OSDSWITCH</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.96')" >
        pass</a>

    <div id='div_pt7.96' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.96').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.96: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.97' class='none'>
    <td class='failCase'><div class='testcase'>test_096_网络设置读写参数_OSDSWITCH</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.97')" >
        fail</a>

    <div id='div_ft7.97' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.97').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.97: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 523, in test_096_网络设置读写参数_OSDSWITCH
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDSWITCH =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 523, in test_096_网络设置读写参数_OSDSWITCH
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDSWITCH =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.98' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_097_网络查询读写参数_OSDSPEED</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.98')" >
        pass</a>

    <div id='div_pt7.98' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.98').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.98: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.99' class='none'>
    <td class='failCase'><div class='testcase'>test_098_网络设置读写参数_OSDSPEED</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.99')" >
        fail</a>

    <div id='div_ft7.99' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.99').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.99: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 537, in test_098_网络设置读写参数_OSDSPEED
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDSPEED =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 537, in test_098_网络设置读写参数_OSDSPEED
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDSPEED =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.100' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_099_网络查询读写参数_OSDTIMEINTERVAL</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.100')" >
        pass</a>

    <div id='div_pt7.100' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.100').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.100: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.101' class='none'>
    <td class='failCase'><div class='testcase'>test_100_网络设置读写参数_OSDTIMEINTERVAL</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.101')" >
        fail</a>

    <div id='div_ft7.101' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.101').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.101: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 551, in test_100_网络设置读写参数_OSDTIMEINTERVAL
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDTIMEINTERVAL =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 551, in test_100_网络设置读写参数_OSDTIMEINTERVAL
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDTIMEINTERVAL =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.102' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_101_网络查询读写参数_OSDTIMEMAX</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.102')" >
        pass</a>

    <div id='div_pt7.102' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.102').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.102: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.103' class='none'>
    <td class='failCase'><div class='testcase'>test_102_网络设置读写参数_OSDTIMEMAX</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.103')" >
        fail</a>

    <div id='div_ft7.103' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.103').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.103: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 566, in test_102_网络设置读写参数_OSDTIMEMAX
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDTIMEMAX =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 566, in test_102_网络设置读写参数_OSDTIMEMAX
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDTIMEMAX =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.104' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_103_网络查询读写参数_OSDRING</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.104')" >
        pass</a>

    <div id='div_pt7.104' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.104').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.104: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.105' class='none'>
    <td class='failCase'><div class='testcase'>test_104_网络设置读写参数_OSDRING</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.105')" >
        fail</a>

    <div id='div_ft7.105' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.105').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.105: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 581, in test_104_网络设置读写参数_OSDRING
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDRING =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 581, in test_104_网络设置读写参数_OSDRING
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'OSDRING =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.106' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_105_网络查询读写参数_LOCKINGTIME</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.106')" >
        pass</a>

    <div id='div_pt7.106' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.106').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.106: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.107' class='none'>
    <td class='failCase'><div class='testcase'>test_106_网络设置读写参数_LOCKINGTIME</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.107')" >
        fail</a>

    <div id='div_ft7.107' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.107').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.107: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 595, in test_106_网络设置读写参数_LOCKINGTIME
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'LOCKINGTIME =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 595, in test_106_网络设置读写参数_LOCKINGTIME
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'LOCKINGTIME =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.108' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_107_网络查询读写参数_GLOBALVOLUME</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.108')" >
        pass</a>

    <div id='div_pt7.108' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.108').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.108: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.109' class='none'>
    <td class='failCase'><div class='testcase'>test_108_网络设置读写参数_GLOBALVOLUME</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.109')" >
        fail</a>

    <div id='div_ft7.109' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.109').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.109: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 609, in test_108_网络设置读写参数_GLOBALVOLUME
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'GLOBALVOLUME =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 609, in test_108_网络设置读写参数_GLOBALVOLUME
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'GLOBALVOLUME =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.110' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_109_网络查询读写参数_VIBLVOICESW</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.110')" >
        pass</a>

    <div id='div_pt7.110' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.110').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.110: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.111' class='none'>
    <td class='failCase'><div class='testcase'>test_110_网络设置读写参数_VIBLVOICESW</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.111')" >
        fail</a>

    <div id='div_ft7.111' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.111').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.111: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 623, in test_110_网络设置读写参数_VIBLVOICESW
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'VIBLVOICESW =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 623, in test_110_网络设置读写参数_VIBLVOICESW
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'VIBLVOICESW =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.112' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_111_网络查询读写参数_DV_301</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.112')" >
        pass</a>

    <div id='div_pt7.112' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.112').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.112: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.113' class='none'>
    <td class='failCase'><div class='testcase'>test_112_网络设置读写参数_DV_301</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.113')" >
        fail</a>

    <div id='div_ft7.113' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.113').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.113: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 637, in test_112_网络设置读写参数_DV_301
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DV-301 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 637, in test_112_网络设置读写参数_DV_301
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DV-301 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.114' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_113_网络查询读写参数_DV_304</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.114')" >
        pass</a>

    <div id='div_pt7.114' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.114').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.114: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.115' class='none'>
    <td class='failCase'><div class='testcase'>test_114_网络设置读写参数_DV_304</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.115')" >
        fail</a>

    <div id='div_ft7.115' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.115').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.115: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 653, in test_114_网络设置读写参数_DV_304
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DV-304 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 653, in test_114_网络设置读写参数_DV_304
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'DV-304 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.116' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_115_网络查询读写参数_HELMETAUDIO_1</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.116')" >
        pass</a>

    <div id='div_pt7.116' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.116').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.116: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.117' class='none'>
    <td class='failCase'><div class='testcase'>test_116_网络设置读写参数_HELMETAUDIO_1</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.117')" >
        fail</a>

    <div id='div_ft7.117' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.117').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.117: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 667, in test_116_网络设置读写参数_HELMETAUDIO_1
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-1 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 667, in test_116_网络设置读写参数_HELMETAUDIO_1
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-1 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.118' class='none'>
    <td class='failCase'><div class='testcase'>test_117_网络查询读写参数_HELMETAUDIO_2</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.118')" >
        fail</a>

    <div id='div_ft7.118' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.118').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.118: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 670, in test_117_网络查询读写参数_HELMETAUDIO_2
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-2")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '88ded426c0944c6bbe63828840a9e8c6' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 670, in test_117_网络查询读写参数_HELMETAUDIO_2
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-2")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '88ded426c0944c6bbe63828840a9e8c6' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.119' class='none'>
    <td class='errorCase'><div class='testcase'>test_118_网络设置读写参数_HELMETAUDIO_2</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.119')" >
        error</a>

    <div id='div_ft7.119' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.119').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.119: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 678, in test_118_网络设置读写参数_HELMETAUDIO_2
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-2 ="+globals()["HELMETAUDIO-2"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-2'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 678, in test_118_网络设置读写参数_HELMETAUDIO_2
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-2 ="+globals()["HELMETAUDIO-2"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-2'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.120' class='none'>
    <td class='failCase'><div class='testcase'>test_119_网络查询读写参数_HELMETAUDIO_3</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.120')" >
        fail</a>

    <div id='div_ft7.120' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.120').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.120: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 684, in test_119_网络查询读写参数_HELMETAUDIO_3
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-3")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '09cb4f1229a1484a9f5ac3d2346be958' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 684, in test_119_网络查询读写参数_HELMETAUDIO_3
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-3")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '09cb4f1229a1484a9f5ac3d2346be958' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.121' class='none'>
    <td class='failCase'><div class='testcase'>test_121_网络查询读写参数_HELMETAUDIO_4</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.121')" >
        fail</a>

    <div id='div_ft7.121' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.121').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.121: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 698, in test_121_网络查询读写参数_HELMETAUDIO_4
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-4")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '22d8961a81464745a2d9446c3b19a899' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 698, in test_121_网络查询读写参数_HELMETAUDIO_4
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-4")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '22d8961a81464745a2d9446c3b19a899' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.122' class='none'>
    <td class='errorCase'><div class='testcase'>test_122_网络设置读写参数_HELMETAUDIO_3</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.122')" >
        error</a>

    <div id='div_ft7.122' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.122').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.122: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 692, in test_122_网络设置读写参数_HELMETAUDIO_3
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-3 ="+globals()["HELMETAUDIO-3"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-3'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 692, in test_122_网络设置读写参数_HELMETAUDIO_3
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-3 ="+globals()["HELMETAUDIO-3"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-3'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.123' class='none'>
    <td class='errorCase'><div class='testcase'>test_122_网络设置读写参数_HELMETAUDIO_4</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.123')" >
        error</a>

    <div id='div_ft7.123' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.123').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.123: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 706, in test_122_网络设置读写参数_HELMETAUDIO_4
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-4 ="+globals()["HELMETAUDIO-4"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-4'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 706, in test_122_网络设置读写参数_HELMETAUDIO_4
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-4 ="+globals()["HELMETAUDIO-4"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-4'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.124' class='none'>
    <td class='failCase'><div class='testcase'>test_123_网络查询读写参数_HELMETAUDIO_5</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.124')" >
        fail</a>

    <div id='div_ft7.124' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.124').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.124: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 712, in test_123_网络查询读写参数_HELMETAUDIO_5
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-5")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'a53004d2b85549d8bb7a19e21a1f5935' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 712, in test_123_网络查询读写参数_HELMETAUDIO_5
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-5")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'a53004d2b85549d8bb7a19e21a1f5935' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.125' class='none'>
    <td class='errorCase'><div class='testcase'>test_124_网络设置读写参数_HELMETAUDIO_5</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.125')" >
        error</a>

    <div id='div_ft7.125' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.125').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.125: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 720, in test_124_网络设置读写参数_HELMETAUDIO_5
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-5 ="+globals()["HELMETAUDIO-5"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-5'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 720, in test_124_网络设置读写参数_HELMETAUDIO_5
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-5 ="+globals()["HELMETAUDIO-5"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-5'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.126' class='none'>
    <td class='failCase'><div class='testcase'>test_125_网络查询读写参数_HELMETAUDIO_6</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.126')" >
        fail</a>

    <div id='div_ft7.126' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.126').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.126: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 726, in test_125_网络查询读写参数_HELMETAUDIO_6
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-6")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'd81104ac4efd4277b21073826aae957e' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 726, in test_125_网络查询读写参数_HELMETAUDIO_6
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-6")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'd81104ac4efd4277b21073826aae957e' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.127' class='none'>
    <td class='errorCase'><div class='testcase'>test_126_网络设置读写参数_HELMETAUDIO_6</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.127')" >
        error</a>

    <div id='div_ft7.127' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.127').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.127: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 734, in test_126_网络设置读写参数_HELMETAUDIO_6
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-6 ="+globals()["HELMETAUDIO-6"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-6'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 734, in test_126_网络设置读写参数_HELMETAUDIO_6
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-6 ="+globals()["HELMETAUDIO-6"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-6'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.128' class='none'>
    <td class='failCase'><div class='testcase'>test_127_网络查询读写参数_HELMETAUDIO_7</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.128')" >
        fail</a>

    <div id='div_ft7.128' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.128').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.128: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 740, in test_127_网络查询读写参数_HELMETAUDIO_7
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-7")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'd2ffa56cb5f7458f8fa95ad35e07711a' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 740, in test_127_网络查询读写参数_HELMETAUDIO_7
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-7")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'd2ffa56cb5f7458f8fa95ad35e07711a' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.129' class='none'>
    <td class='errorCase'><div class='testcase'>test_128_网络设置读写参数_HELMETAUDIO_7</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.129')" >
        error</a>

    <div id='div_ft7.129' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.129').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.129: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 748, in test_128_网络设置读写参数_HELMETAUDIO_7
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-7 ="+globals()["HELMETAUDIO-7"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-7'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 748, in test_128_网络设置读写参数_HELMETAUDIO_7
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-7 ="+globals()["HELMETAUDIO-7"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-7'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.130' class='none'>
    <td class='failCase'><div class='testcase'>test_129_网络查询读写参数_HELMETAUDIO_8</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.130')" >
        fail</a>

    <div id='div_ft7.130' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.130').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.130: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 754, in test_129_网络查询读写参数_HELMETAUDIO_8
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-8")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '574dc9f0677d46fcab7c4ca9940488b7' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 754, in test_129_网络查询读写参数_HELMETAUDIO_8
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "HELMETAUDIO-8")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '574dc9f0677d46fcab7c4ca9940488b7' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "42b224fd60ee46fbbeafab6cb77834f4", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-1 =3665", "sim": null, "cmd_code": 331, "time": "2025-01-06 21:06:35.992", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-1 =FAIL\\",\\"code\\":\\"331\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-1 =FAIL\\",\\"msgId\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"sen\\":41,\\"ts\\":1736168795},\\"type\\":1,\\"msg_id\\":\\"42b224fd60ee46fbbeafab6cb77834f4\\",\\"params\\":\\"HELMETAUDIO-1 =3665\\",\\"status\\":\\"200\\",\\"ts\\":1736168795000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736168795992}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.131' class='none'>
    <td class='errorCase'><div class='testcase'>test_130_网络设置读写参数_HELMETAUDIO_8</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.131')" >
        error</a>

    <div id='div_ft7.131' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.131').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.131: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 762, in test_130_网络设置读写参数_HELMETAUDIO_8
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-8 ="+globals()["HELMETAUDIO-8"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-8'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 762, in test_130_网络设置读写参数_HELMETAUDIO_8
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-8 ="+globals()["HELMETAUDIO-8"])
                                                                                       ~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HELMETAUDIO-8'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.132' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_131_网络查询读写参数_HELMETAUDIO_9</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.132')" >
        pass</a>

    <div id='div_pt7.132' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.132').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.132: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.133' class='none'>
    <td class='failCase'><div class='testcase'>test_132_网络设置读写参数_HELMETAUDIO_9</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.133')" >
        fail</a>

    <div id='div_ft7.133' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.133').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.133: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 779, in test_132_网络设置读写参数_HELMETAUDIO_9
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-9 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 779, in test_132_网络设置读写参数_HELMETAUDIO_9
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-9 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.134' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_133_网络查询读写参数_HELMETAUDIO_10</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.134')" >
        pass</a>

    <div id='div_pt7.134' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.134').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.134: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.135' class='none'>
    <td class='failCase'><div class='testcase'>test_134_网络设置读写参数_HELMETAUDIO_10</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.135')" >
        fail</a>

    <div id='div_ft7.135' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.135').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.135: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 793, in test_134_网络设置读写参数_HELMETAUDIO_10
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-10 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 793, in test_134_网络设置读写参数_HELMETAUDIO_10
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-10 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.136' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_135_网络查询读写参数_HELMETAUDIO_11</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.136')" >
        pass</a>

    <div id='div_pt7.136' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.136').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.136: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.137' class='none'>
    <td class='failCase'><div class='testcase'>test_136_网络设置读写参数_HELMETAUDIO_11</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.137')" >
        fail</a>

    <div id='div_ft7.137' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.137').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.137: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 807, in test_136_网络设置读写参数_HELMETAUDIO_11
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-11 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 807, in test_136_网络设置读写参数_HELMETAUDIO_11
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-11 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.138' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_137_网络查询读写参数_HELMETAUDIO_12</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.138')" >
        pass</a>

    <div id='div_pt7.138' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.138').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.138: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.139' class='none'>
    <td class='failCase'><div class='testcase'>test_138_网络设置读写参数_HELMETAUDIO_12</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.139')" >
        fail</a>

    <div id='div_ft7.139' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.139').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.139: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 821, in test_138_网络设置读写参数_HELMETAUDIO_12
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-12 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 821, in test_138_网络设置读写参数_HELMETAUDIO_12
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-12 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.140' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_139_网络查询读写参数_HELMETAUDIO_13</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.140')" >
        pass</a>

    <div id='div_pt7.140' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.140').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.140: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.141' class='none'>
    <td class='failCase'><div class='testcase'>test_140_网络设置读写参数_HELMETAUDIO_13</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.141')" >
        fail</a>

    <div id='div_ft7.141' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.141').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.141: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 835, in test_140_网络设置读写参数_HELMETAUDIO_13
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-13 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 835, in test_140_网络设置读写参数_HELMETAUDIO_13
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-13 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.142' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_141_网络查询读写参数_HELMETAUDIO_14</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.142')" >
        pass</a>

    <div id='div_pt7.142' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.142').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.142: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.143' class='none'>
    <td class='failCase'><div class='testcase'>test_142_网络设置读写参数_HELMETAUDIO_14</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.143')" >
        fail</a>

    <div id='div_ft7.143' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.143').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.143: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 849, in test_142_网络设置读写参数_HELMETAUDIO_14
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-14 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 849, in test_142_网络设置读写参数_HELMETAUDIO_14
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-14 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.144' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_143_网络查询读写参数_HELMETAUDIO_15</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.144')" >
        pass</a>

    <div id='div_pt7.144' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.144').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.144: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.145' class='none'>
    <td class='failCase'><div class='testcase'>test_144_网络设置读写参数_HELMETAUDIO_15</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.145')" >
        fail</a>

    <div id='div_ft7.145' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.145').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.145: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 863, in test_144_网络设置读写参数_HELMETAUDIO_15
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-15 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 863, in test_144_网络设置读写参数_HELMETAUDIO_15
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-15 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.146' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_145_网络查询读写参数_HELMETAUDIO_16</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.146')" >
        pass</a>

    <div id='div_pt7.146' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.146').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.146: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.147' class='none'>
    <td class='failCase'><div class='testcase'>test_146_网络设置读写参数_HELMETAUDIO_16</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.147')" >
        fail</a>

    <div id='div_ft7.147' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.147').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.147: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 877, in test_146_网络设置读写参数_HELMETAUDIO_16
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-16 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 877, in test_146_网络设置读写参数_HELMETAUDIO_16
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-16 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.148' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_147_网络查询读写参数_HELMETAUDIO_17</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.148')" >
        pass</a>

    <div id='div_pt7.148' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.148').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.148: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.149' class='none'>
    <td class='failCase'><div class='testcase'>test_148_网络设置读写参数_HELMETAUDIO_17</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.149')" >
        fail</a>

    <div id='div_ft7.149' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.149').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.149: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 888, in test_148_网络设置读写参数_HELMETAUDIO_17
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-17 ="+globals()["HELMETAUDIO-17"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'c2c70960a71b4c308502a52d5a6eca2e' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "e674c2d1728f45a2901bdd7074f55404", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-17", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:24:37.625", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-17=3667\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-17=3667\\",\\"msgId\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"sen\\":27,\\"ts\\":1736169876},\\"type\\":1,\\"msg_id\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"params\\":\\"HELMETAUDIO-17\\",\\"status\\":\\"200\\",\\"ts\\":1736169876000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736169877625}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 888, in test_148_网络设置读写参数_HELMETAUDIO_17
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","HELMETAUDIO-17 ="+globals()["HELMETAUDIO-17"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'c2c70960a71b4c308502a52d5a6eca2e' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "e674c2d1728f45a2901bdd7074f55404", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-17", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:24:37.625", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-17=3667\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-17=3667\\",\\"msgId\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"sen\\":27,\\"ts\\":1736169876},\\"type\\":1,\\"msg_id\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"params\\":\\"HELMETAUDIO-17\\",\\"status\\":\\"200\\",\\"ts\\":1736169876000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736169877625}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.150' class='none'>
    <td class='failCase'><div class='testcase'>test_149_网络查询读写参数_PLAYAUDIOCNT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.150')" >
        fail</a>

    <div id='div_ft7.150' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.150').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.150: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 894, in test_149_网络查询读写参数_PLAYAUDIOCNT
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "PLAYAUDIOCNT")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'c08d28797a9f4f169949d2cb6bad654f' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "e674c2d1728f45a2901bdd7074f55404", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-17", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:24:37.625", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-17=3667\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-17=3667\\",\\"msgId\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"sen\\":27,\\"ts\\":1736169876},\\"type\\":1,\\"msg_id\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"params\\":\\"HELMETAUDIO-17\\",\\"status\\":\\"200\\",\\"ts\\":1736169876000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736169877625}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 894, in test_149_网络查询读写参数_PLAYAUDIOCNT
    act_1 = TestData().request_and_assert_params("NET", "QUERY_PARAM",  "PLAYAUDIOCNT")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: 'c08d28797a9f4f169949d2cb6bad654f' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "e674c2d1728f45a2901bdd7074f55404", "msg_type": null, "rtk_type": null, "params": "HELMETAUDIO-17", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:24:37.625", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"HELMETAUDIO-17=3667\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"HELMETAUDIO-17=3667\\",\\"msgId\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"sen\\":27,\\"ts\\":1736169876},\\"type\\":1,\\"msg_id\\":\\"e674c2d1728f45a2901bdd7074f55404\\",\\"params\\":\\"HELMETAUDIO-17\\",\\"status\\":\\"200\\",\\"ts\\":1736169876000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736169877625}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.151' class='none'>
    <td class='errorCase'><div class='testcase'>test_150_网络设置读写参数_PLAYAUDIOCNT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.151')" >
        error</a>

    <div id='div_ft7.151' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.151').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.151: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 902, in test_150_网络设置读写参数_PLAYAUDIOCNT
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","PLAYAUDIOCNT ="+globals()["PLAYAUDIOCNT"])
                                                                                      ~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'PLAYAUDIOCNT'
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 902, in test_150_网络设置读写参数_PLAYAUDIOCNT
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","PLAYAUDIOCNT ="+globals()["PLAYAUDIOCNT"])
                                                                                      ~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'PLAYAUDIOCNT'


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.152' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_151_网络查询读写参数_HE_TIMEOUT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.152')" >
        pass</a>

    <div id='div_pt7.152' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.152').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.152: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.153' class='none'>
    <td class='failCase'><div class='testcase'>test_152_网络设置读写参数_HE_TIMEOUT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.153')" >
        fail</a>

    <div id='div_ft7.153' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.153').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.153: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 920, in test_152_网络设置读写参数_HE_TIMEOUT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HE-TIMEOUT =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 920, in test_152_网络设置读写参数_HE_TIMEOUT
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HE-TIMEOUT =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.154' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_153_网络查询读写参数_HELMETAUDIO_18</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.154')" >
        pass</a>

    <div id='div_pt7.154' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.154').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.154: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.155' class='none'>
    <td class='failCase'><div class='testcase'>test_154_网络设置读写参数_HELMETAUDIO_18</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.155')" >
        fail</a>

    <div id='div_ft7.155' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.155').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.155: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 936, in test_154_网络设置读写参数_HELMETAUDIO_18
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-18 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 936, in test_154_网络设置读写参数_HELMETAUDIO_18
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-18 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.156' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_155_网络查询读写参数_HELMETAUDIO_19</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.156')" >
        pass</a>

    <div id='div_pt7.156' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.156').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.156: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.157' class='none'>
    <td class='failCase'><div class='testcase'>test_156_网络设置读写参数_HELMETAUDIO_19</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.157')" >
        fail</a>

    <div id='div_ft7.157' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.157').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.157: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 952, in test_156_网络设置读写参数_HELMETAUDIO_19
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-19 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 952, in test_156_网络设置读写参数_HELMETAUDIO_19
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-19 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.158' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_157_网络查询读写参数_HELMETAUDIO_20</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.158')" >
        pass</a>

    <div id='div_pt7.158' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.158').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.158: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.159' class='none'>
    <td class='failCase'><div class='testcase'>test_158_网络设置读写参数_HELMETAUDIO_20</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.159')" >
        fail</a>

    <div id='div_ft7.159' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.159').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.159: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 968, in test_158_网络设置读写参数_HELMETAUDIO_20
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-20 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 968, in test_158_网络设置读写参数_HELMETAUDIO_20
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-20 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.160' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_159_网络查询读写参数_HELMETAUDIO_21</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.160')" >
        pass</a>

    <div id='div_pt7.160' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.160').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.160: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.161' class='none'>
    <td class='failCase'><div class='testcase'>test_160_网络设置读写参数_HELMETAUDIO_21</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.161')" >
        fail</a>

    <div id='div_ft7.161' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.161').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.161: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 984, in test_160_网络设置读写参数_HELMETAUDIO_21
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-21 =FAIL' : 设置读写参数中有FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 984, in test_160_网络设置读写参数_HELMETAUDIO_21
    self.assertNotIn("FAIL", result_2, "设置读写参数中有FAIL")
AssertionError: 'FAIL' unexpectedly found in 'HELMETAUDIO-21 =FAIL' : 设置读写参数中有FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.162' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_161_网络查询只读参数_SOFTVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.162')" >
        pass</a>

    <div id='div_pt7.162' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.162').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.162: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.163' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_162_网络设置只读参数_SOFTVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.163')" >
        pass</a>

    <div id='div_pt7.163' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.163').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.163: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.164' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_163_网络查询只读参数_HARDVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.164')" >
        pass</a>

    <div id='div_pt7.164' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.164').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.164: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.165' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_164_网络设置只读参数_HARDVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.165')" >
        pass</a>

    <div id='div_pt7.165' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.165').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.165: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.166' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_165_网络查询只读参数_VOICEVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.166')" >
        pass</a>

    <div id='div_pt7.166' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.166').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.166: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.167' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_166_网络设置只读参数_VOICEVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.167')" >
        pass</a>

    <div id='div_pt7.167' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.167').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.167: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.168' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_167_网络查询只读参数_VOICELEFTSPACE</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.168')" >
        pass</a>

    <div id='div_pt7.168' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.168').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.168: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.169' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_168_网络设置只读参数_VOICELEFTSPACE</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.169')" >
        pass</a>

    <div id='div_pt7.169' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.169').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.169: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.170' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_169_网络查询只读参数_CTRLVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.170')" >
        pass</a>

    <div id='div_pt7.170' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.170').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.170: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.171' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_170_网络设置只读参数_CTRLVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.171')" >
        pass</a>

    <div id='div_pt7.171' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.171').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.171: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.172' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_171_网络查询只读参数_BMSVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.172')" >
        pass</a>

    <div id='div_pt7.172' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.172').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.172: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.173' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_172_网络设置只读参数_BMSVERSION</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.173')" >
        pass</a>

    <div id='div_pt7.173' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.173').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.173: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.174' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_173_网络查询只读参数_GSM</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.174')" >
        pass</a>

    <div id='div_pt7.174' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.174').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.174: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.175' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_174_网络设置只读参数_GSM</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.175')" >
        pass</a>

    <div id='div_pt7.175' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.175').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.175: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.176' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_175_网络查询只读参数_VBAT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.176')" >
        pass</a>

    <div id='div_pt7.176' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.176').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.176: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.177' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_176_网络设置只读参数_VBAT</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.177')" >
        pass</a>

    <div id='div_pt7.177' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.177').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.177: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.178' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_177_网络查询只读参数_VIN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.178')" >
        pass</a>

    <div id='div_pt7.178' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.178').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.178: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.179' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_178_网络设置只读参数_VIN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.179')" >
        pass</a>

    <div id='div_pt7.179' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.179').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.179: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.180' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_179_网络查询只读参数_DEVICESN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.180')" >
        pass</a>

    <div id='div_pt7.180' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.180').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.180: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.181' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_180_网络设置只读参数_DEVICESN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.181')" >
        pass</a>

    <div id='div_pt7.181' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.181').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.181: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.182' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_181_网络查询只读参数_DEVICESTATUS</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.182')" >
        pass</a>

    <div id='div_pt7.182' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.182').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.182: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.183' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_182_网络设置只读参数_DEVICESTATUS</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.183')" >
        pass</a>

    <div id='div_pt7.183' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.183').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.183: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.184' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_183_网络查询只读参数_BATVER</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.184')" >
        pass</a>

    <div id='div_pt7.184' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.184').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.184: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.185' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_184_网络设置只读参数_BATVER</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.185')" >
        pass</a>

    <div id='div_pt7.185' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.185').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.185: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.186' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_185_网络查询只读参数_BATMANUFACTURE</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.186')" >
        pass</a>

    <div id='div_pt7.186' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.186').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.186: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.187' class='none'>
    <td class='failCase'><div class='testcase'>test_186_网络设置只读参数_BATMANUFACTURE</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.187')" >
        fail</a>

    <div id='div_ft7.187' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.187').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.187: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 1203, in test_186_网络设置只读参数_BATMANUFACTURE
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","BATMANUFACTURE ="+globals()["BATMANUFACTURE"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '745b8274fcac44a19c3e7e38de95abf6' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "90eeaffaf4c04793a07bbc58517d92d8", "msg_type": null, "rtk_type": null, "params": "BATMANUFACTURE", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:52:21.603", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"BATMANUFACTURE=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"BATMANUFACTURE=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"msgId\\":\\"90eeaffaf4c04793a07bbc58517d92d8\\",\\"sen\\":53,\\"ts\\":1736171540},\\"type\\":1,\\"msg_id\\":\\"90eeaffaf4c04793a07bbc58517d92d8\\",\\"params\\":\\"BATMANUFACTURE\\",\\"status\\":\\"200\\",\\"ts\\":1736171540000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736171541603}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 1203, in test_186_网络设置只读参数_BATMANUFACTURE
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS","BATMANUFACTURE ="+globals()["BATMANUFACTURE"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '745b8274fcac44a19c3e7e38de95abf6' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "90eeaffaf4c04793a07bbc58517d92d8", "msg_type": null, "rtk_type": null, "params": "BATMANUFACTURE", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:52:21.603", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"BATMANUFACTURE=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"BATMANUFACTURE=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"msgId\\":\\"90eeaffaf4c04793a07bbc58517d92d8\\",\\"sen\\":53,\\"ts\\":1736171540},\\"type\\":1,\\"msg_id\\":\\"90eeaffaf4c04793a07bbc58517d92d8\\",\\"params\\":\\"BATMANUFACTURE\\",\\"status\\":\\"200\\",\\"ts\\":1736171540000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736171541603}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.188' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_187_网络查询只读参数_BATSN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.188')" >
        pass</a>

    <div id='div_pt7.188' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.188').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.188: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.189' class='none'>
    <td class='failCase'><div class='testcase'>test_188_网络设置只读参数_BATSN</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.189')" >
        fail</a>

    <div id='div_ft7.189' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.189').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.189: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 1220, in test_188_网络设置只读参数_BATSN
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS", "BATSN = "+ globals()["BATSN"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '243f2caaa29a425dad3ac9a77b5c271b' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "ee8a67e0e26e470daf9e19c03e14bda4", "msg_type": null, "rtk_type": null, "params": "BATSN", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:53:48.636", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"BATSN=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"BATSN=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"msgId\\":\\"ee8a67e0e26e470daf9e19c03e14bda4\\",\\"sen\\":55,\\"ts\\":1736171627},\\"type\\":1,\\"msg_id\\":\\"ee8a67e0e26e470daf9e19c03e14bda4\\",\\"params\\":\\"BATSN\\",\\"status\\":\\"200\\",\\"ts\\":1736171627000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736171628636}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 1220, in test_188_网络设置只读参数_BATSN
    act_2 = TestData().request_and_assert_params("NET", "SET_STATUS", "BATSN = "+ globals()["BATSN"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_data.py", line 260, in request_and_assert_params
    self.assertIn(msg_id, act, "没有在iot平台查到响应结果报文")
AssertionError: '243f2caaa29a425dad3ac9a77b5c271b' not found in '{"bike_sn": "816700101", "time_linetype": 20, "bike_model": "F11", "city_id": null, "ecu_sn": "8222420010020050", "ecu_type": null, "ecu_factory": "CUSTOM", "firmware_version": "1.1.12", "product_name": "ZFZ", "login_reason": null, "battery_sn": "", "battery_soc": null, "battery_surplus_capacity": null, "absolute_soc": null, "absolute_full_capacity": null, "battery_soh": null, "electric_current": null, "battery_voltage": null, "cycle_count": null, "usage_status": null, "motion_status": null, "hub_motor_lock_status": null, "acc_status": null, "sleep_status": null, "bluetooth_status": null, "battery_lock_status": null, "riding_status": null, "battery_vacancy_status": null, "twist_grip_status": null, "rear_hub_lock_status": null, "alarm_type": null, "alarm_status": null, "cmd": null, "channel_type": null, "need_ack": null, "cmd_no": null, "cmd_type": 1, "status": 200, "error_code": null, "msg_id": "ee8a67e0e26e470daf9e19c03e14bda4", "msg_type": null, "rtk_type": null, "params": "BATSN", "sim": null, "cmd_code": 330, "time": "2025-01-06 21:53:48.636", "cmd_to_ecu_status": null, "cmd_to_ecu_time": null, "ext": "{\\"esn\\":\\"8222420010020050\\",\\"data\\":{\\"result\\":\\"BATSN=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"code\\":\\"330\\",\\"payload\\":{\\"result\\":0,\\"reserved\\":\\"AA==\\",\\"dataType\\":0,\\"values\\":\\"BATSN=\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\\\u0000\\",\\"msgId\\":\\"ee8a67e0e26e470daf9e19c03e14bda4\\",\\"sen\\":55,\\"ts\\":1736171627},\\"type\\":1,\\"msg_id\\":\\"ee8a67e0e26e470daf9e19c03e14bda4\\",\\"params\\":\\"BATSN\\",\\"status\\":\\"200\\",\\"ts\\":1736171627000},\\"action\\":7,\\"bike_sn\\":\\"8222420010020050\\",\\"ts\\":1736171628636}", "offline_type": null, "offline_info": null, "start_time": null, "end_time": null, "offline_time": null, "gsm_signal_strength": null, "standby_battery_capacity": null}' : 没有在iot平台查到响应结果报文


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt7.190' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_189_网络查询只读参数_BIKEFUNCTIONLABEL</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt7.190')" >
        pass</a>

    <div id='div_pt7.190' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt7.190').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt7.190: 

        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='ft7.191' class='none'>
    <td class='failCase'><div class='testcase'>test_190_网络设置只读参数_BIKEFUNCTIONLABEL</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft7.191')" >
        fail</a>

    <div id='div_ft7.191' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft7.191').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft7.191: Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 1240, in test_190_网络设置只读参数_BIKEFUNCTIONLABEL
    self.assertNotIn("FAIL", result_2, "设置参数返回FAIL")
AssertionError: 'FAIL' unexpectedly found in 'BIKEFUNCTIONLABEL =FAIL' : 设置参数返回FAIL
Traceback (most recent call last):
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test3_command.py", line 1240, in test_190_网络设置只读参数_BIKEFUNCTIONLABEL
    self.assertNotIn("FAIL", result_2, "设置参数返回FAIL")
AssertionError: 'FAIL' unexpectedly found in 'BIKEFUNCTIONLABEL =FAIL' : 设置参数返回FAIL


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr class='errorClass'>
    <td>unittest.loader._FailedTest</td>
    <td>1</td>
    <td>0</td>
    <td>0</td>
    <td>1</td>
    <td><a href="javascript:showClassDetail('c8',1)">Detail</a></td>
</tr>

<tr id='ft8.1' class='none'>
    <td class='errorCase'><div class='testcase'>test_01_gps_package</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft8.1')" >
        error</a>

    <div id='div_ft8.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft8.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft8.1: ImportError: Failed to import test module: test_01_gps_package
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/loader.py", line 394, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/loader.py", line 337, in _get_module_from_name
    __import__(name)
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_01_gps_package.py", line 6, in &lt;module&gt;
    from tools.get_test_data import GetTestData
ImportError: cannot import name 'GetTestData' from 'tools.get_test_data' (/Users/songguo77/songguo/TestAuto/tools/get_test_data.py). Did you mean: 'get_test_data'?

ImportError: Failed to import test module: test_01_gps_package
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/loader.py", line 394, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/loader.py", line 337, in _get_module_from_name
    __import__(name)
  File "/Users/songguo77/songguo/TestAuto/test_case_47/test_01_gps_package.py", line 6, in &lt;module&gt;
    from tools.get_test_data import GetTestData
ImportError: cannot import name 'GetTestData' from 'tools.get_test_data' (/Users/songguo77/songguo/TestAuto/tools/get_test_data.py). Did you mean: 'get_test_data'?



        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='total_row'>
    <td>Total</td>
    <td>502</td>
    <td>384</td>
    <td>90</td>
    <td>28</td>
    <td>&nbsp;</td>
</tr>
</table>

<div id='ending'>&nbsp;</div>

</body>
</html>
